diff --git a/spring-core-2/README.md b/spring-core-2/README.md
index 10d3080b45..3c6bd05876 100644
--- a/spring-core-2/README.md
+++ b/spring-core-2/README.md
@@ -6,13 +6,9 @@ This module contains articles about core Spring functionality
- [Guide to Spring @Autowired](http://www.baeldung.com/spring-autowire)
- [Spring Profiles](http://www.baeldung.com/spring-profiles)
-- [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor)
- [Quick Guide to Spring Bean Scopes](http://www.baeldung.com/spring-bean-scopes)
-- [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope)
- [@Order in Spring](http://www.baeldung.com/spring-order)
- [Spring @Primary Annotation](http://www.baeldung.com/spring-primary)
- [Spring Events](https://www.baeldung.com/spring-events)
- [Spring Null-Safety Annotations](https://www.baeldung.com/spring-null-safety-annotations)
-- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class)
-- [Running Setup Data on Startup in Spring](https://www.baeldung.com/running-setup-logic-on-startup-in-spring)
- More articles: [[<-- prev]](/spring-core)[[next -->]](/spring-core-3)
diff --git a/spring-core-3/README.md b/spring-core-3/README.md
index 6c210b23ef..b6257cb9a4 100644
--- a/spring-core-3/README.md
+++ b/spring-core-3/README.md
@@ -7,8 +7,8 @@ This module contains articles about core Spring functionality
- [Understanding getBean() in Spring](https://www.baeldung.com/spring-getbean)
- [Guide to the Spring BeanFactory](https://www.baeldung.com/spring-beanfactory)
- [How to use the Spring FactoryBean?](https://www.baeldung.com/spring-factorybean)
-- [Spring – Injecting Collections](https://www.baeldung.com/spring-injecting-collections)
- [Design Patterns in the Spring Framework](https://www.baeldung.com/spring-framework-design-patterns)
-- [Injecting a Value in a Static Field in Spring](https://www.baeldung.com/spring-inject-static-field)
- [Difference Between BeanFactory and ApplicationContext](https://www.baeldung.com/spring-beanfactory-vs-applicationcontext)
+- [A Spring Custom Annotation for a Better DAO](http://www.baeldung.com/spring-annotation-bean-pre-processor)
+- [Custom Scope in Spring](http://www.baeldung.com/spring-custom-scope)
- More articles: [[<-- prev]](/spring-core-2)
diff --git a/spring-core-2/src/main/java/com/baeldung/customannotation/CustomAnnotationConfiguration.java b/spring-core-3/src/main/java/com/baeldung/customannotation/CustomAnnotationConfiguration.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customannotation/CustomAnnotationConfiguration.java
rename to spring-core-3/src/main/java/com/baeldung/customannotation/CustomAnnotationConfiguration.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customannotation/DataAccess.java b/spring-core-3/src/main/java/com/baeldung/customannotation/DataAccess.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customannotation/DataAccess.java
rename to spring-core-3/src/main/java/com/baeldung/customannotation/DataAccess.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customannotation/DataAccessAnnotationProcessor.java b/spring-core-3/src/main/java/com/baeldung/customannotation/DataAccessAnnotationProcessor.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customannotation/DataAccessAnnotationProcessor.java
rename to spring-core-3/src/main/java/com/baeldung/customannotation/DataAccessAnnotationProcessor.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customannotation/DataAccessFieldCallback.java b/spring-core-3/src/main/java/com/baeldung/customannotation/DataAccessFieldCallback.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customannotation/DataAccessFieldCallback.java
rename to spring-core-3/src/main/java/com/baeldung/customannotation/DataAccessFieldCallback.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customannotation/GenericDAO.java b/spring-core-3/src/main/java/com/baeldung/customannotation/GenericDAO.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customannotation/GenericDAO.java
rename to spring-core-3/src/main/java/com/baeldung/customannotation/GenericDAO.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customscope/TenantBean.java b/spring-core-3/src/main/java/com/baeldung/customscope/TenantBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customscope/TenantBean.java
rename to spring-core-3/src/main/java/com/baeldung/customscope/TenantBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customscope/TenantBeanFactoryPostProcessor.java b/spring-core-3/src/main/java/com/baeldung/customscope/TenantBeanFactoryPostProcessor.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customscope/TenantBeanFactoryPostProcessor.java
rename to spring-core-3/src/main/java/com/baeldung/customscope/TenantBeanFactoryPostProcessor.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customscope/TenantBeansConfig.java b/spring-core-3/src/main/java/com/baeldung/customscope/TenantBeansConfig.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customscope/TenantBeansConfig.java
rename to spring-core-3/src/main/java/com/baeldung/customscope/TenantBeansConfig.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customscope/TenantScope.java b/spring-core-3/src/main/java/com/baeldung/customscope/TenantScope.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customscope/TenantScope.java
rename to spring-core-3/src/main/java/com/baeldung/customscope/TenantScope.java
diff --git a/spring-core-2/src/main/java/com/baeldung/customscope/TenantScopeConfig.java b/spring-core-3/src/main/java/com/baeldung/customscope/TenantScopeConfig.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/customscope/TenantScopeConfig.java
rename to spring-core-3/src/main/java/com/baeldung/customscope/TenantScopeConfig.java
diff --git a/spring-core-2/src/test/java/com/baeldung/customannotation/Account.java b/spring-core-3/src/test/java/com/baeldung/customannotation/Account.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/customannotation/Account.java
rename to spring-core-3/src/test/java/com/baeldung/customannotation/Account.java
diff --git a/spring-core-2/src/test/java/com/baeldung/customannotation/BeanWithGenericDAO.java b/spring-core-3/src/test/java/com/baeldung/customannotation/BeanWithGenericDAO.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/customannotation/BeanWithGenericDAO.java
rename to spring-core-3/src/test/java/com/baeldung/customannotation/BeanWithGenericDAO.java
diff --git a/spring-core-2/src/test/java/com/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java
rename to spring-core-3/src/test/java/com/baeldung/customannotation/DataAccessAnnotationIntegrationTest.java
diff --git a/spring-core-2/src/test/java/com/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java
rename to spring-core-3/src/test/java/com/baeldung/customannotation/DataAccessFieldCallbackIntegrationTest.java
diff --git a/spring-core-2/src/test/java/com/baeldung/customannotation/Person.java b/spring-core-3/src/test/java/com/baeldung/customannotation/Person.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/customannotation/Person.java
rename to spring-core-3/src/test/java/com/baeldung/customannotation/Person.java
diff --git a/spring-core-2/src/test/java/com/baeldung/customscope/TenantScopeIntegrationTest.java b/spring-core-3/src/test/java/com/baeldung/customscope/TenantScopeIntegrationTest.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/customscope/TenantScopeIntegrationTest.java
rename to spring-core-3/src/test/java/com/baeldung/customscope/TenantScopeIntegrationTest.java
diff --git a/spring-core-4/README.md b/spring-core-4/README.md
index 9da90ac77a..706c330f39 100644
--- a/spring-core-4/README.md
+++ b/spring-core-4/README.md
@@ -8,4 +8,7 @@ This module contains articles about core Spring functionality
- [How to dynamically Autowire a Bean in Spring](https://www.baeldung.com/spring-dynamic-autowire)
- [Spring @Import Annotation](https://www.baeldung.com/spring-import-annotation)
- [Spring BeanPostProcessor](https://www.baeldung.com/spring-beanpostprocessor)
+- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class)
+- [Running Setup Data on Startup in Spring](https://www.baeldung.com/running-setup-logic-on-startup-in-spring)
+- [Constructor Injection in Spring with Lombok](https://www.baeldung.com/spring-injection-lombok)
- More articles: [[<-- prev]](/spring-core-3)
diff --git a/spring-core-4/pom.xml b/spring-core-4/pom.xml
index 299debbc3c..e5aee1f81d 100644
--- a/spring-core-4/pom.xml
+++ b/spring-core-4/pom.xml
@@ -29,6 +29,11 @@
spring-expression
${spring.version}
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
com.google.guava
guava
diff --git a/spring-core/src/main/java/com/baeldung/lombok/ApologizeService.java b/spring-core-4/src/main/java/com/baeldung/lombok/ApologizeService.java
similarity index 100%
rename from spring-core/src/main/java/com/baeldung/lombok/ApologizeService.java
rename to spring-core-4/src/main/java/com/baeldung/lombok/ApologizeService.java
diff --git a/spring-core/src/main/java/com/baeldung/lombok/FarewellService.java b/spring-core-4/src/main/java/com/baeldung/lombok/FarewellService.java
similarity index 100%
rename from spring-core/src/main/java/com/baeldung/lombok/FarewellService.java
rename to spring-core-4/src/main/java/com/baeldung/lombok/FarewellService.java
diff --git a/spring-core/src/main/java/com/baeldung/lombok/GreetingService.java b/spring-core-4/src/main/java/com/baeldung/lombok/GreetingService.java
similarity index 100%
rename from spring-core/src/main/java/com/baeldung/lombok/GreetingService.java
rename to spring-core-4/src/main/java/com/baeldung/lombok/GreetingService.java
diff --git a/spring-core/src/main/java/com/baeldung/lombok/ThankingService.java b/spring-core-4/src/main/java/com/baeldung/lombok/ThankingService.java
similarity index 100%
rename from spring-core/src/main/java/com/baeldung/lombok/ThankingService.java
rename to spring-core-4/src/main/java/com/baeldung/lombok/ThankingService.java
diff --git a/spring-core/src/main/java/com/baeldung/lombok/Translator.java b/spring-core-4/src/main/java/com/baeldung/lombok/Translator.java
similarity index 100%
rename from spring-core/src/main/java/com/baeldung/lombok/Translator.java
rename to spring-core-4/src/main/java/com/baeldung/lombok/Translator.java
diff --git a/spring-core-2/src/main/java/com/baeldung/sampleabstract/BallService.java b/spring-core-4/src/main/java/com/baeldung/sampleabstract/BallService.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/sampleabstract/BallService.java
rename to spring-core-4/src/main/java/com/baeldung/sampleabstract/BallService.java
diff --git a/spring-core-2/src/main/java/com/baeldung/sampleabstract/BasketballService.java b/spring-core-4/src/main/java/com/baeldung/sampleabstract/BasketballService.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/sampleabstract/BasketballService.java
rename to spring-core-4/src/main/java/com/baeldung/sampleabstract/BasketballService.java
diff --git a/spring-core-2/src/main/java/com/baeldung/sampleabstract/DemoApp.java b/spring-core-4/src/main/java/com/baeldung/sampleabstract/DemoApp.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/sampleabstract/DemoApp.java
rename to spring-core-4/src/main/java/com/baeldung/sampleabstract/DemoApp.java
diff --git a/spring-core-2/src/main/java/com/baeldung/sampleabstract/LogRepository.java b/spring-core-4/src/main/java/com/baeldung/sampleabstract/LogRepository.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/sampleabstract/LogRepository.java
rename to spring-core-4/src/main/java/com/baeldung/sampleabstract/LogRepository.java
diff --git a/spring-core-2/src/main/java/com/baeldung/sampleabstract/RuleRepository.java b/spring-core-4/src/main/java/com/baeldung/sampleabstract/RuleRepository.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/sampleabstract/RuleRepository.java
rename to spring-core-4/src/main/java/com/baeldung/sampleabstract/RuleRepository.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/AllStrategiesExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/AllStrategiesExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/AllStrategiesExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/AllStrategiesExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/EventListenerExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/EventListenerExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/EventListenerExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/EventListenerExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/InitMethodExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/InitMethodExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/InitMethodExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/InitMethodExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/InitializingBeanExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/InitializingBeanExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/InitializingBeanExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/InitializingBeanExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/InvalidInitExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/InvalidInitExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/InvalidInitExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/InvalidInitExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/LogicInConstructorExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/LogicInConstructorExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/LogicInConstructorExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/LogicInConstructorExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/PostConstructExampleBean.java b/spring-core-4/src/main/java/com/baeldung/startup/PostConstructExampleBean.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/PostConstructExampleBean.java
rename to spring-core-4/src/main/java/com/baeldung/startup/PostConstructExampleBean.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/SpringStartupConfig.java b/spring-core-4/src/main/java/com/baeldung/startup/SpringStartupConfig.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/SpringStartupConfig.java
rename to spring-core-4/src/main/java/com/baeldung/startup/SpringStartupConfig.java
diff --git a/spring-core-2/src/main/java/com/baeldung/startup/StartupApplicationListenerExample.java b/spring-core-4/src/main/java/com/baeldung/startup/StartupApplicationListenerExample.java
similarity index 100%
rename from spring-core-2/src/main/java/com/baeldung/startup/StartupApplicationListenerExample.java
rename to spring-core-4/src/main/java/com/baeldung/startup/StartupApplicationListenerExample.java
diff --git a/spring-core-2/src/main/resources/startupConfig.xml b/spring-core-4/src/main/resources/startupConfig.xml
similarity index 100%
rename from spring-core-2/src/main/resources/startupConfig.xml
rename to spring-core-4/src/main/resources/startupConfig.xml
diff --git a/spring-core/src/test/java/com/baeldung/lombok/ApologizeServiceAutowiringIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/ApologizeServiceAutowiringIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/ApologizeServiceAutowiringIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/ApologizeServiceAutowiringIntegrationTest.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/ApologizeServiceIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/ApologizeServiceIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/ApologizeServiceIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/ApologizeServiceIntegrationTest.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/FarewellAutowiringIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/FarewellAutowiringIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/FarewellAutowiringIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/FarewellAutowiringIntegrationTest.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/FarewellServiceIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/FarewellServiceIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/FarewellServiceIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/FarewellServiceIntegrationTest.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/GreetingServiceIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/GreetingServiceIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/GreetingServiceIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/GreetingServiceIntegrationTest.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/TestConfig.java b/spring-core-4/src/test/java/com/baeldung/lombok/TestConfig.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/TestConfig.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/TestConfig.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/ThankingServiceAutowiringIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/ThankingServiceAutowiringIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/ThankingServiceAutowiringIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/ThankingServiceAutowiringIntegrationTest.java
diff --git a/spring-core/src/test/java/com/baeldung/lombok/ThankingServiceIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/lombok/ThankingServiceIntegrationTest.java
similarity index 100%
rename from spring-core/src/test/java/com/baeldung/lombok/ThankingServiceIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/lombok/ThankingServiceIntegrationTest.java
diff --git a/spring-core-2/src/test/java/com/baeldung/startup/SpringStartupIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/startup/SpringStartupIntegrationTest.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/startup/SpringStartupIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/startup/SpringStartupIntegrationTest.java
diff --git a/spring-core-2/src/test/java/com/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java b/spring-core-4/src/test/java/com/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java
similarity index 100%
rename from spring-core-2/src/test/java/com/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java
rename to spring-core-4/src/test/java/com/baeldung/startup/SpringStartupXMLConfigIntegrationTest.java
diff --git a/spring-core/README.md b/spring-core/README.md
index 1f3dcb783b..b8d46f6b34 100644
--- a/spring-core/README.md
+++ b/spring-core/README.md
@@ -3,10 +3,8 @@
This module contains articles about core Spring functionality
### Relevant Articles:
-- [Wiring in Spring: @Autowired, @Resource and @Inject](https://www.baeldung.com/spring-annotations-resource-inject-autowire)
-- [Constructor Injection in Spring with Lombok](https://www.baeldung.com/spring-injection-lombok)
+
- [Introduction to Spring’s StreamUtils](https://www.baeldung.com/spring-stream-utils)
-- [XML-Based Injection in Spring](https://www.baeldung.com/spring-xml-injection)
- [A Quick Guide to the Spring @Lazy Annotation](https://www.baeldung.com/spring-lazy-annotation)
- [BeanNameAware and BeanFactoryAware Interfaces in Spring](https://www.baeldung.com/spring-bean-name-factory-aware)
- [Access a File from the Classpath in a Spring Application](https://www.baeldung.com/spring-classpath-file-access)
diff --git a/spring-di-2/README.md b/spring-di-2/README.md
new file mode 100644
index 0000000000..15249efa7c
--- /dev/null
+++ b/spring-di-2/README.md
@@ -0,0 +1,11 @@
+## Spring Dependency Injection
+
+This module contains articles about dependency injection with Spring
+
+### Relevant Articles
+
+- [Injecting Spring Beans into Unmanaged Objects](https://www.baeldung.com/spring-inject-bean-into-unmanaged-objects)
+- [Injecting a Value in a Static Field in Spring](https://www.baeldung.com/spring-inject-static-field)
+- [Spring – Injecting Collections](https://www.baeldung.com/spring-injecting-collections)
+- [Wiring in Spring: @Autowired, @Resource and @Inject](https://www.baeldung.com/spring-annotations-resource-inject-autowire)
+- More articles: [[<-- prev]](/spring-di)
\ No newline at end of file
diff --git a/spring-di-2/pom.xml b/spring-di-2/pom.xml
index 9b703d55d9..4dd92ca18c 100644
--- a/spring-di-2/pom.xml
+++ b/spring-di-2/pom.xml
@@ -25,11 +25,26 @@
spring-boot-starter-data-jpa
${spring-boot.version}
+
+ org.springframework.boot
+ spring-boot-starter-web
+ ${spring-boot.version}
+
org.springframework
spring-aspects
${spring.version}
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
+ javax.inject
+ javax.inject
+ ${javax.inject.version}
+
@@ -61,5 +76,6 @@
2.3.1.RELEASE
1.11
+ 1
\ No newline at end of file
diff --git a/spring-core-3/src/main/java/com/baeldung/collection/BaeldungBean.java b/spring-di-2/src/main/java/com/baeldung/collection/BaeldungBean.java
similarity index 100%
rename from spring-core-3/src/main/java/com/baeldung/collection/BaeldungBean.java
rename to spring-di-2/src/main/java/com/baeldung/collection/BaeldungBean.java
diff --git a/spring-core-3/src/main/java/com/baeldung/collection/CollectionConfig.java b/spring-di-2/src/main/java/com/baeldung/collection/CollectionConfig.java
similarity index 100%
rename from spring-core-3/src/main/java/com/baeldung/collection/CollectionConfig.java
rename to spring-di-2/src/main/java/com/baeldung/collection/CollectionConfig.java
diff --git a/spring-core-3/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java b/spring-di-2/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java
similarity index 100%
rename from spring-core-3/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java
rename to spring-di-2/src/main/java/com/baeldung/collection/CollectionInjectionDemo.java
diff --git a/spring-core-3/src/main/java/com/baeldung/collection/CollectionsBean.java b/spring-di-2/src/main/java/com/baeldung/collection/CollectionsBean.java
similarity index 100%
rename from spring-core-3/src/main/java/com/baeldung/collection/CollectionsBean.java
rename to spring-di-2/src/main/java/com/baeldung/collection/CollectionsBean.java
diff --git a/spring-di/src/main/java/com/baeldung/dependency/AnotherArbitraryDependency.java b/spring-di-2/src/main/java/com/baeldung/dependency/AnotherArbitraryDependency.java
similarity index 100%
rename from spring-di/src/main/java/com/baeldung/dependency/AnotherArbitraryDependency.java
rename to spring-di-2/src/main/java/com/baeldung/dependency/AnotherArbitraryDependency.java
diff --git a/spring-di/src/main/java/com/baeldung/dependency/ArbitraryDependency.java b/spring-di-2/src/main/java/com/baeldung/dependency/ArbitraryDependency.java
similarity index 100%
rename from spring-di/src/main/java/com/baeldung/dependency/ArbitraryDependency.java
rename to spring-di-2/src/main/java/com/baeldung/dependency/ArbitraryDependency.java
diff --git a/spring-di/src/main/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java b/spring-di-2/src/main/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java
similarity index 100%
rename from spring-di/src/main/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java
rename to spring-di-2/src/main/java/com/baeldung/dependency/YetAnotherArbitraryDependency.java
diff --git a/spring-core-3/src/main/java/com/baeldung/staticvalue/injection/Application.java b/spring-di-2/src/main/java/com/baeldung/staticvalue/injection/Application.java
similarity index 72%
rename from spring-core-3/src/main/java/com/baeldung/staticvalue/injection/Application.java
rename to spring-di-2/src/main/java/com/baeldung/staticvalue/injection/Application.java
index 45c47c955f..b4222ddcc9 100644
--- a/spring-core-3/src/main/java/com/baeldung/staticvalue/injection/Application.java
+++ b/spring-di-2/src/main/java/com/baeldung/staticvalue/injection/Application.java
@@ -2,9 +2,10 @@ package com.baeldung.staticvalue.injection;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.PropertySource;
-@SpringBootApplication
+@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
@PropertySource("/application.properties")
public class Application {
diff --git a/spring-core-3/src/main/java/com/baeldung/staticvalue/injection/PropertyController.java b/spring-di-2/src/main/java/com/baeldung/staticvalue/injection/PropertyController.java
similarity index 100%
rename from spring-core-3/src/main/java/com/baeldung/staticvalue/injection/PropertyController.java
rename to spring-di-2/src/main/java/com/baeldung/staticvalue/injection/PropertyController.java
diff --git a/spring-di-2/src/main/resources/application.properties b/spring-di-2/src/main/resources/application.properties
new file mode 100644
index 0000000000..828fa9cd2a
--- /dev/null
+++ b/spring-di-2/src/main/resources/application.properties
@@ -0,0 +1 @@
+name = Inject a value to a static field
diff --git a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredName.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredName.java
similarity index 85%
rename from spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredName.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredName.java
index 48c4495465..3046e68829 100644
--- a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredName.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredName.java
@@ -1,4 +1,4 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredQualifier.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredQualifier.java
similarity index 94%
rename from spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredQualifier.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredQualifier.java
index ef6690ab4b..33969ea69d 100644
--- a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredQualifier.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredQualifier.java
@@ -1,9 +1,10 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
import com.baeldung.dependency.AnotherArbitraryDependency;
import com.baeldung.dependency.ArbitraryDependency;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
@Configuration
public class ApplicationContextTestAutowiredQualifier {
diff --git a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredType.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredType.java
similarity index 90%
rename from spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredType.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredType.java
index 240bc466b7..24cdd978e4 100644
--- a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestAutowiredType.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestAutowiredType.java
@@ -1,9 +1,10 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
-import com.baeldung.dependency.ArbitraryDependency;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import com.baeldung.dependency.ArbitraryDependency;
+
@Configuration
public class ApplicationContextTestAutowiredType {
diff --git a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectName.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectName.java
similarity index 92%
rename from spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectName.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectName.java
index 851aa0b8ee..cb465d0183 100644
--- a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectName.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectName.java
@@ -1,9 +1,10 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
import com.baeldung.dependency.ArbitraryDependency;
import com.baeldung.dependency.YetAnotherArbitraryDependency;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
@Configuration
public class ApplicationContextTestInjectName {
diff --git a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectQualifier.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectQualifier.java
similarity index 93%
rename from spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectQualifier.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectQualifier.java
index 59af5a91bb..c2a63dac9e 100644
--- a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectQualifier.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectQualifier.java
@@ -1,9 +1,10 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
import com.baeldung.dependency.AnotherArbitraryDependency;
import com.baeldung.dependency.ArbitraryDependency;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
@Configuration
public class ApplicationContextTestInjectQualifier {
diff --git a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectType.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectType.java
similarity index 90%
rename from spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectType.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectType.java
index 1e1f01f269..15a75b8f2d 100644
--- a/spring-di/src/test/java/com/baeldung/configuration/ApplicationContextTestInjectType.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestInjectType.java
@@ -1,9 +1,10 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
-import com.baeldung.dependency.ArbitraryDependency;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import com.baeldung.dependency.ArbitraryDependency;
+
@Configuration
public class ApplicationContextTestInjectType {
diff --git a/spring-core/src/test/java/com/baeldung/configuration/ApplicationContextTestResourceNameType.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestResourceNameType.java
similarity index 89%
rename from spring-core/src/test/java/com/baeldung/configuration/ApplicationContextTestResourceNameType.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestResourceNameType.java
index cb1b5981e8..708ade7647 100644
--- a/spring-core/src/test/java/com/baeldung/configuration/ApplicationContextTestResourceNameType.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestResourceNameType.java
@@ -1,4 +1,4 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-core/src/test/java/com/baeldung/configuration/ApplicationContextTestResourceQualifier.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestResourceQualifier.java
similarity index 92%
rename from spring-core/src/test/java/com/baeldung/configuration/ApplicationContextTestResourceQualifier.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestResourceQualifier.java
index c9aa2f4a7d..87864b183e 100644
--- a/spring-core/src/test/java/com/baeldung/configuration/ApplicationContextTestResourceQualifier.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/ApplicationContextTestResourceQualifier.java
@@ -1,4 +1,4 @@
-package com.baeldung.configuration;
+package com.baeldung.wiring.configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/spring-di/src/test/java/com/baeldung/autowired/FieldAutowiredIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldAutowiredIntegrationTest.java
similarity index 87%
rename from spring-di/src/test/java/com/baeldung/autowired/FieldAutowiredIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldAutowiredIntegrationTest.java
index a78799f1d9..f3f065ed4d 100644
--- a/spring-di/src/test/java/com/baeldung/autowired/FieldAutowiredIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldAutowiredIntegrationTest.java
@@ -1,7 +1,8 @@
-package com.baeldung.autowired;
+package com.baeldung.wiring.configuration.autowired;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
-import com.baeldung.configuration.ApplicationContextTestAutowiredType;
-import com.baeldung.dependency.ArbitraryDependency;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -9,8 +10,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.dependency.ArbitraryDependency;
+import com.baeldung.wiring.configuration.ApplicationContextTestAutowiredType;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
diff --git a/spring-di/src/test/java/com/baeldung/autowired/FieldAutowiredNameIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldAutowiredNameIntegrationTest.java
similarity index 88%
rename from spring-di/src/test/java/com/baeldung/autowired/FieldAutowiredNameIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldAutowiredNameIntegrationTest.java
index 8f09e73c33..199241c7e2 100644
--- a/spring-di/src/test/java/com/baeldung/autowired/FieldAutowiredNameIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldAutowiredNameIntegrationTest.java
@@ -1,7 +1,8 @@
-package com.baeldung.autowired;
+package com.baeldung.wiring.configuration.autowired;
-import com.baeldung.configuration.ApplicationContextTestAutowiredName;
import com.baeldung.dependency.ArbitraryDependency;
+import com.baeldung.wiring.configuration.ApplicationContextTestAutowiredName;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/spring-di/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldQualifierAutowiredIntegrationTest.java
similarity index 91%
rename from spring-di/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldQualifierAutowiredIntegrationTest.java
index 01317aef6f..081fbf24ad 100644
--- a/spring-di/src/test/java/com/baeldung/autowired/FieldQualifierAutowiredIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/autowired/FieldQualifierAutowiredIntegrationTest.java
@@ -1,7 +1,8 @@
-package com.baeldung.autowired;
+package com.baeldung.wiring.configuration.autowired;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
-import com.baeldung.configuration.ApplicationContextTestAutowiredQualifier;
-import com.baeldung.dependency.ArbitraryDependency;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -10,8 +11,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.dependency.ArbitraryDependency;
+import com.baeldung.wiring.configuration.ApplicationContextTestAutowiredQualifier;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
diff --git a/spring-di/src/test/java/com/baeldung/inject/FieldByNameInjectIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldByNameInjectIntegrationTest.java
similarity index 89%
rename from spring-di/src/test/java/com/baeldung/inject/FieldByNameInjectIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldByNameInjectIntegrationTest.java
index f5897febab..d1a75d73ea 100644
--- a/spring-di/src/test/java/com/baeldung/inject/FieldByNameInjectIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldByNameInjectIntegrationTest.java
@@ -1,18 +1,19 @@
-package com.baeldung.inject;
+package com.baeldung.wiring.configuration.inject;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import javax.inject.Inject;
+import javax.inject.Named;
-import com.baeldung.configuration.ApplicationContextTestInjectName;
-import com.baeldung.dependency.ArbitraryDependency;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.dependency.ArbitraryDependency;
+import com.baeldung.wiring.configuration.ApplicationContextTestInjectName;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
diff --git a/spring-di/src/test/java/com/baeldung/inject/FieldInjectIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldInjectIntegrationTest.java
similarity index 88%
rename from spring-di/src/test/java/com/baeldung/inject/FieldInjectIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldInjectIntegrationTest.java
index 45b7c8015c..995f560701 100644
--- a/spring-di/src/test/java/com/baeldung/inject/FieldInjectIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldInjectIntegrationTest.java
@@ -1,17 +1,18 @@
-package com.baeldung.inject;
+package com.baeldung.wiring.configuration.inject;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import javax.inject.Inject;
-import com.baeldung.configuration.ApplicationContextTestInjectType;
-import com.baeldung.dependency.ArbitraryDependency;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import javax.inject.Inject;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.dependency.ArbitraryDependency;
+import com.baeldung.wiring.configuration.ApplicationContextTestInjectType;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
diff --git a/spring-di/src/test/java/com/baeldung/inject/FieldQualifierInjectIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldQualifierInjectIntegrationTest.java
similarity index 91%
rename from spring-di/src/test/java/com/baeldung/inject/FieldQualifierInjectIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldQualifierInjectIntegrationTest.java
index 0fd6a0e4c1..67fa2bf3d4 100644
--- a/spring-di/src/test/java/com/baeldung/inject/FieldQualifierInjectIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/inject/FieldQualifierInjectIntegrationTest.java
@@ -1,7 +1,10 @@
-package com.baeldung.inject;
+package com.baeldung.wiring.configuration.inject;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import javax.inject.Inject;
-import com.baeldung.configuration.ApplicationContextTestInjectQualifier;
-import com.baeldung.dependency.ArbitraryDependency;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -9,10 +12,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import javax.inject.Inject;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.dependency.ArbitraryDependency;
+import com.baeldung.wiring.configuration.ApplicationContextTestInjectQualifier;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = AnnotationConfigContextLoader.class,
diff --git a/spring-core/src/test/java/com/baeldung/resource/FieldResourceInjectionIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/FieldResourceInjectionIntegrationTest.java
similarity index 86%
rename from spring-core/src/test/java/com/baeldung/resource/FieldResourceInjectionIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/FieldResourceInjectionIntegrationTest.java
index 63a25cb499..938d557939 100644
--- a/spring-core/src/test/java/com/baeldung/resource/FieldResourceInjectionIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/FieldResourceInjectionIntegrationTest.java
@@ -1,17 +1,19 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.File;
+
+import javax.annotation.Resource;
-import com.baeldung.configuration.ApplicationContextTestResourceNameType;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
-import javax.annotation.Resource;
-import java.io.File;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceNameType;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
diff --git a/spring-core/src/test/java/com/baeldung/resource/MethodByQualifierResourceIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodByQualifierResourceIntegrationTest.java
similarity index 91%
rename from spring-core/src/test/java/com/baeldung/resource/MethodByQualifierResourceIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodByQualifierResourceIntegrationTest.java
index f5bb9f10cf..f49bf70aba 100644
--- a/spring-core/src/test/java/com/baeldung/resource/MethodByQualifierResourceIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodByQualifierResourceIntegrationTest.java
@@ -1,6 +1,5 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
-import com.baeldung.configuration.ApplicationContextTestResourceQualifier;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -8,6 +7,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceQualifier;
+
import javax.annotation.Resource;
import java.io.File;
diff --git a/spring-core/src/test/java/com/baeldung/resource/MethodByTypeResourceIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodByTypeResourceIntegrationTest.java
similarity index 87%
rename from spring-core/src/test/java/com/baeldung/resource/MethodByTypeResourceIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodByTypeResourceIntegrationTest.java
index 171cbfea47..aecd02a1d5 100644
--- a/spring-core/src/test/java/com/baeldung/resource/MethodByTypeResourceIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodByTypeResourceIntegrationTest.java
@@ -1,12 +1,13 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
-import com.baeldung.configuration.ApplicationContextTestResourceNameType;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceNameType;
+
import javax.annotation.Resource;
import java.io.File;
diff --git a/spring-core/src/test/java/com/baeldung/resource/MethodResourceInjectionIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodResourceInjectionIntegrationTest.java
similarity index 88%
rename from spring-core/src/test/java/com/baeldung/resource/MethodResourceInjectionIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodResourceInjectionIntegrationTest.java
index 2e1c3c39a9..4ef9368c28 100644
--- a/spring-core/src/test/java/com/baeldung/resource/MethodResourceInjectionIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/MethodResourceInjectionIntegrationTest.java
@@ -1,12 +1,13 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
-import com.baeldung.configuration.ApplicationContextTestResourceNameType;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceNameType;
+
import javax.annotation.Resource;
import java.io.File;
diff --git a/spring-core/src/test/java/com/baeldung/resource/NamedResourceIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/NamedResourceIntegrationTest.java
similarity index 86%
rename from spring-core/src/test/java/com/baeldung/resource/NamedResourceIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/NamedResourceIntegrationTest.java
index d52660e9b8..4339194f63 100644
--- a/spring-core/src/test/java/com/baeldung/resource/NamedResourceIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/NamedResourceIntegrationTest.java
@@ -1,12 +1,13 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
-import com.baeldung.configuration.ApplicationContextTestResourceNameType;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceNameType;
+
import javax.annotation.Resource;
import java.io.File;
diff --git a/spring-core/src/test/java/com/baeldung/resource/QualifierResourceInjectionIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/QualifierResourceInjectionIntegrationTest.java
similarity index 90%
rename from spring-core/src/test/java/com/baeldung/resource/QualifierResourceInjectionIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/QualifierResourceInjectionIntegrationTest.java
index 3f812350c9..cc8c669757 100644
--- a/spring-core/src/test/java/com/baeldung/resource/QualifierResourceInjectionIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/QualifierResourceInjectionIntegrationTest.java
@@ -1,6 +1,5 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
-import com.baeldung.configuration.ApplicationContextTestResourceQualifier;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -8,6 +7,8 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceQualifier;
+
import javax.annotation.Resource;
import java.io.File;
diff --git a/spring-core/src/test/java/com/baeldung/resource/SetterResourceInjectionIntegrationTest.java b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/SetterResourceInjectionIntegrationTest.java
similarity index 88%
rename from spring-core/src/test/java/com/baeldung/resource/SetterResourceInjectionIntegrationTest.java
rename to spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/SetterResourceInjectionIntegrationTest.java
index ae13b2336a..90c8677bff 100644
--- a/spring-core/src/test/java/com/baeldung/resource/SetterResourceInjectionIntegrationTest.java
+++ b/spring-di-2/src/test/java/com/baeldung/wiring/configuration/resource/SetterResourceInjectionIntegrationTest.java
@@ -1,12 +1,13 @@
-package com.baeldung.resource;
+package com.baeldung.wiring.configuration.resource;
-import com.baeldung.configuration.ApplicationContextTestResourceNameType;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;
+import com.baeldung.wiring.configuration.ApplicationContextTestResourceNameType;
+
import javax.annotation.Resource;
import java.io.File;
diff --git a/spring-di/README.md b/spring-di/README.md
index 7571b12916..d470768f16 100644
--- a/spring-di/README.md
+++ b/spring-di/README.md
@@ -13,3 +13,5 @@ This module contains articles about dependency injection with Spring
- [Controlling Bean Creation Order with @DependsOn Annotation](https://www.baeldung.com/spring-depends-on)
- [Unsatisfied Dependency in Spring](https://www.baeldung.com/spring-unsatisfied-dependency)
- [Circular Dependencies in Spring](https://www.baeldung.com/circular-dependencies-in-spring)
+- [XML-Based Injection in Spring](https://www.baeldung.com/spring-xml-injection)
+- More articles: [[next -->]](/spring-di-2)