diff --git a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/FrontendConfig.java b/spring-security-basic-auth/src/main/java/org/baeldung/spring/FrontendConfig.java
similarity index 96%
rename from spring-security-basic-auth/src/main/java/org/baeldung/spring/config/FrontendConfig.java
rename to spring-security-basic-auth/src/main/java/org/baeldung/spring/FrontendConfig.java
index 693b1006b5..b353405fc1 100644
--- a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/FrontendConfig.java
+++ b/spring-security-basic-auth/src/main/java/org/baeldung/spring/FrontendConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/PersistenceConfig.java b/spring-security-basic-auth/src/main/java/org/baeldung/spring/PersistenceConfig.java
similarity index 88%
rename from spring-security-basic-auth/src/main/java/org/baeldung/spring/config/PersistenceConfig.java
rename to spring-security-basic-auth/src/main/java/org/baeldung/spring/PersistenceConfig.java
index 913c5d26ce..4ea0053f48 100644
--- a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/PersistenceConfig.java
+++ b/spring-security-basic-auth/src/main/java/org/baeldung/spring/PersistenceConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java b/spring-security-basic-auth/src/main/java/org/baeldung/spring/SecSecurityConfig.java
similarity index 91%
rename from spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java
rename to spring-security-basic-auth/src/main/java/org/baeldung/spring/SecSecurityConfig.java
index 8d5dfb0409..4ce80dab9f 100644
--- a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java
+++ b/spring-security-basic-auth/src/main/java/org/baeldung/spring/SecSecurityConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/WebConfig.java b/spring-security-basic-auth/src/main/java/org/baeldung/spring/WebConfig.java
similarity index 91%
rename from spring-security-basic-auth/src/main/java/org/baeldung/spring/config/WebConfig.java
rename to spring-security-basic-auth/src/main/java/org/baeldung/spring/WebConfig.java
index 20f3bf8f18..fa6f5f6d56 100644
--- a/spring-security-basic-auth/src/main/java/org/baeldung/spring/config/WebConfig.java
+++ b/spring-security-basic-auth/src/main/java/org/baeldung/spring/WebConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-security-basic-auth/src/main/webapp/WEB-INF/web.xml b/spring-security-basic-auth/src/main/webapp/WEB-INF/web.xml
index adb3e17d7d..d4ef6ebb8b 100644
--- a/spring-security-basic-auth/src/main/webapp/WEB-INF/web.xml
+++ b/spring-security-basic-auth/src/main/webapp/WEB-INF/web.xml
@@ -17,7 +17,7 @@
contextConfigLocation
- org.baeldung.spring.config
+ org.baeldung.spring
diff --git a/spring-security-custom/src/main/java/org/baeldung/spring/WebConfig.java b/spring-security-custom/src/main/java/org/baeldung/spring/WebConfig.java
new file mode 100644
index 0000000000..fa6f5f6d56
--- /dev/null
+++ b/spring-security-custom/src/main/java/org/baeldung/spring/WebConfig.java
@@ -0,0 +1,17 @@
+package org.baeldung.spring;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+@Configuration
+@ComponentScan("org.baeldung.web")
+public class WebConfig extends WebMvcConfigurerAdapter {
+
+ public WebConfig() {
+ super();
+ }
+
+ // API
+
+}
\ No newline at end of file
diff --git a/spring-security-custom/src/main/java/org/baeldung/web/controller/FooController.java b/spring-security-custom/src/main/java/org/baeldung/web/controller/FooController.java
new file mode 100644
index 0000000000..d6eeea5f77
--- /dev/null
+++ b/spring-security-custom/src/main/java/org/baeldung/web/controller/FooController.java
@@ -0,0 +1,34 @@
+package org.baeldung.web.controller;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.baeldung.web.dto.Foo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.util.UriComponentsBuilder;
+
+@Controller
+@RequestMapping(value = "/foo")
+public class FooController {
+
+ @Autowired
+ private ApplicationEventPublisher eventPublisher;
+
+ public FooController() {
+ super();
+ }
+
+ // API
+
+ @RequestMapping(value = "/{id}", method = RequestMethod.GET)
+ @ResponseBody
+ public Foo findOne(@PathVariable("id") final Long id, final UriComponentsBuilder uriBuilder, final HttpServletResponse response) {
+ return new Foo();
+ }
+
+}
diff --git a/spring-security-custom/src/main/java/org/baeldung/web/dto/Foo.java b/spring-security-custom/src/main/java/org/baeldung/web/dto/Foo.java
new file mode 100644
index 0000000000..352045989d
--- /dev/null
+++ b/spring-security-custom/src/main/java/org/baeldung/web/dto/Foo.java
@@ -0,0 +1,11 @@
+package org.baeldung.web.dto;
+
+import java.io.Serializable;
+
+public class Foo implements Serializable {
+
+ public Foo() {
+ super();
+ }
+
+}
diff --git a/spring-security-rest/src/main/java/org/baeldung/spring/config/ClientWebConfig.java b/spring-security-rest/src/main/java/org/baeldung/spring/ClientWebConfig.java
similarity index 91%
rename from spring-security-rest/src/main/java/org/baeldung/spring/config/ClientWebConfig.java
rename to spring-security-rest/src/main/java/org/baeldung/spring/ClientWebConfig.java
index 1a87fd8a09..601ba66330 100644
--- a/spring-security-rest/src/main/java/org/baeldung/spring/config/ClientWebConfig.java
+++ b/spring-security-rest/src/main/java/org/baeldung/spring/ClientWebConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
diff --git a/spring-security-rest/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java b/spring-security-rest/src/main/java/org/baeldung/spring/SecSecurityConfig.java
similarity index 91%
rename from spring-security-rest/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java
rename to spring-security-rest/src/main/java/org/baeldung/spring/SecSecurityConfig.java
index 8d5dfb0409..4ce80dab9f 100644
--- a/spring-security-rest/src/main/java/org/baeldung/spring/config/SecSecurityConfig.java
+++ b/spring-security-rest/src/main/java/org/baeldung/spring/SecSecurityConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-security-rest/src/main/java/org/baeldung/spring/config/WebConfig.java b/spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java
similarity index 87%
rename from spring-security-rest/src/main/java/org/baeldung/spring/config/WebConfig.java
rename to spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java
index 33efc93b2b..29ddb3eaec 100644
--- a/spring-security-rest/src/main/java/org/baeldung/spring/config/WebConfig.java
+++ b/spring-security-rest/src/main/java/org/baeldung/spring/WebConfig.java
@@ -1,4 +1,4 @@
-package org.baeldung.spring.config;
+package org.baeldung.spring;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-security-rest/src/main/webapp/WEB-INF/web.xml b/spring-security-rest/src/main/webapp/WEB-INF/web.xml
index d7e554666d..fe62026bc7 100644
--- a/spring-security-rest/src/main/webapp/WEB-INF/web.xml
+++ b/spring-security-rest/src/main/webapp/WEB-INF/web.xml
@@ -15,7 +15,7 @@
contextConfigLocation
- org.baeldung.spring.config
+ org.baeldung.spring