diff --git a/spring-core-4/README.md b/spring-core-4/README.md
index 0338d5d6e8..6ade284e2e 100644
--- a/spring-core-4/README.md
+++ b/spring-core-4/README.md
@@ -6,6 +6,5 @@ This module contains articles about core Spring functionality
- [Creating Spring Beans Through Factory Methods](https://www.baeldung.com/spring-beans-factory-methods)
- [Spring BeanPostProcessor](https://www.baeldung.com/spring-beanpostprocessor)
-- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class)
- [The Spring ApplicationContext](https://www.baeldung.com/spring-application-context)
- More articles: [[<-- prev]](/spring-core-3) [[next -->]](/spring-core-5)
diff --git a/spring-core-5/README.md b/spring-core-5/README.md
index 13945c1f8b..cfcbf5380a 100644
--- a/spring-core-5/README.md
+++ b/spring-core-5/README.md
@@ -4,7 +4,6 @@ This module contains articles about core Spring functionality.
## Relevant Articles:
-- [Spring @Component Annotation](https://www.baeldung.com/spring-component-annotation)
- [Solving Spring’s “not eligible for auto-proxying” Warning](https://www.baeldung.com/spring-not-eligible-for-auto-proxying)
- [Finding the Spring Version](https://www.baeldung.com/spring-find-version)
- [How Does the Spring Singleton Bean Serve Concurrent Requests?](https://www.baeldung.com/spring-singleton-concurrent-requests)
diff --git a/spring-core-5/src/main/resources/application.yml b/spring-core-5/src/main/resources/application.yml
index 5c09fdb8b0..e69de29bb2 100644
--- a/spring-core-5/src/main/resources/application.yml
+++ b/spring-core-5/src/main/resources/application.yml
@@ -1 +0,0 @@
-ambiguous-bean: 'A'
\ No newline at end of file
diff --git a/spring-core-5/src/test/resources/application.yml b/spring-core-5/src/test/resources/application.yml
index da23e59c24..e69de29bb2 100644
--- a/spring-core-5/src/test/resources/application.yml
+++ b/spring-core-5/src/test/resources/application.yml
@@ -1 +0,0 @@
-ambiguous-bean: 'B'
\ No newline at end of file
diff --git a/spring-di-3/README.md b/spring-di-3/README.md
index 1ac280fef2..ffb81fbe7d 100644
--- a/spring-di-3/README.md
+++ b/spring-di-3/README.md
@@ -11,4 +11,4 @@ This module contains articles about dependency injection with Spring
- [@Order in Spring](http://www.baeldung.com/spring-order)
- [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)
-- More articles: [[<-- prev]](../spring-di-2)
+- More articles: [[<-- prev]](../spring-di-2)[[more -->]](../spring-di-4)
diff --git a/spring-di-4/README.md b/spring-di-4/README.md
new file mode 100644
index 0000000000..d4b0d94385
--- /dev/null
+++ b/spring-di-4/README.md
@@ -0,0 +1,9 @@
+## Spring Dependency Injection
+
+This module contains articles about dependency injection with Spring
+
+### Relevant Articles
+
+- [Using @Autowired in Abstract Classes](https://www.baeldung.com/spring-autowired-abstract-class)
+- [Spring @Component Annotation](https://www.baeldung.com/spring-component-annotation)
+- More articles: [[<-- prev]](../spring-di-3)
diff --git a/spring-di-4/pom.xml b/spring-di-4/pom.xml
new file mode 100644
index 0000000000..c6572495cb
--- /dev/null
+++ b/spring-di-4/pom.xml
@@ -0,0 +1,28 @@
+
+
+ 4.0.0
+ spring-di-4
+ 1.0-SNAPSHOT
+ spring-di-4
+
+
+ com.baeldung
+ parent-boot-2
+ 0.0.1-SNAPSHOT
+ ../parent-boot-2
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+
+
+
+
\ No newline at end of file
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/AmbiguousBean.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/AmbiguousBean.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/AmbiguousBean.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/AmbiguousBean.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/BeanExample.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/BeanExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/BeanExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/BeanExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/BeanImplA.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/BeanImplA.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/BeanImplA.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/BeanImplA.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/BeanImplB.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/BeanImplB.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/BeanImplB.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/BeanImplB.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/ComponentApplication.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/ComponentApplication.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/ComponentApplication.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/ComponentApplication.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/ComponentExample.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/ComponentExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/ComponentExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/ComponentExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/ControllerExample.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/ControllerExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/ControllerExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/ControllerExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/CustomComponent.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/CustomComponent.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/CustomComponent.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/CustomComponent.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/CustomComponentExample.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/CustomComponentExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/CustomComponentExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/CustomComponentExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/RepositoryExample.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/RepositoryExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/RepositoryExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/RepositoryExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/inscope/ServiceExample.java b/spring-di-4/src/main/java/com/baeldung/component/inscope/ServiceExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/inscope/ServiceExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/inscope/ServiceExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/outsidescope/OutsideScopeBeanExample.java b/spring-di-4/src/main/java/com/baeldung/component/outsidescope/OutsideScopeBeanExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/outsidescope/OutsideScopeBeanExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/outsidescope/OutsideScopeBeanExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/outsidescope/OutsideScopeExample.java b/spring-di-4/src/main/java/com/baeldung/component/outsidescope/OutsideScopeExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/outsidescope/OutsideScopeExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/outsidescope/OutsideScopeExample.java
diff --git a/spring-core-5/src/main/java/com/baeldung/component/scannedscope/ScannedScopeExample.java b/spring-di-4/src/main/java/com/baeldung/component/scannedscope/ScannedScopeExample.java
similarity index 100%
rename from spring-core-5/src/main/java/com/baeldung/component/scannedscope/ScannedScopeExample.java
rename to spring-di-4/src/main/java/com/baeldung/component/scannedscope/ScannedScopeExample.java
diff --git a/spring-core-4/src/main/java/com/baeldung/sampleabstract/BallService.java b/spring-di-4/src/main/java/com/baeldung/sampleabstract/BallService.java
similarity index 100%
rename from spring-core-4/src/main/java/com/baeldung/sampleabstract/BallService.java
rename to spring-di-4/src/main/java/com/baeldung/sampleabstract/BallService.java
diff --git a/spring-core-4/src/main/java/com/baeldung/sampleabstract/BasketballService.java b/spring-di-4/src/main/java/com/baeldung/sampleabstract/BasketballService.java
similarity index 100%
rename from spring-core-4/src/main/java/com/baeldung/sampleabstract/BasketballService.java
rename to spring-di-4/src/main/java/com/baeldung/sampleabstract/BasketballService.java
diff --git a/spring-core-4/src/main/java/com/baeldung/sampleabstract/DemoApp.java b/spring-di-4/src/main/java/com/baeldung/sampleabstract/DemoApp.java
similarity index 100%
rename from spring-core-4/src/main/java/com/baeldung/sampleabstract/DemoApp.java
rename to spring-di-4/src/main/java/com/baeldung/sampleabstract/DemoApp.java
diff --git a/spring-core-4/src/main/java/com/baeldung/sampleabstract/LogRepository.java b/spring-di-4/src/main/java/com/baeldung/sampleabstract/LogRepository.java
similarity index 100%
rename from spring-core-4/src/main/java/com/baeldung/sampleabstract/LogRepository.java
rename to spring-di-4/src/main/java/com/baeldung/sampleabstract/LogRepository.java
diff --git a/spring-core-4/src/main/java/com/baeldung/sampleabstract/RuleRepository.java b/spring-di-4/src/main/java/com/baeldung/sampleabstract/RuleRepository.java
similarity index 100%
rename from spring-core-4/src/main/java/com/baeldung/sampleabstract/RuleRepository.java
rename to spring-di-4/src/main/java/com/baeldung/sampleabstract/RuleRepository.java
diff --git a/spring-di-4/src/main/resources/application.yml b/spring-di-4/src/main/resources/application.yml
new file mode 100644
index 0000000000..5c09fdb8b0
--- /dev/null
+++ b/spring-di-4/src/main/resources/application.yml
@@ -0,0 +1 @@
+ambiguous-bean: 'A'
\ No newline at end of file
diff --git a/spring-core-5/src/test/java/com/baeldung/component/inscope/ComponentUnitTest.java b/spring-di-4/src/test/java/com/baeldung/component/inscope/ComponentUnitTest.java
similarity index 100%
rename from spring-core-5/src/test/java/com/baeldung/component/inscope/ComponentUnitTest.java
rename to spring-di-4/src/test/java/com/baeldung/component/inscope/ComponentUnitTest.java
diff --git a/spring-di-4/src/test/resources/application.yml b/spring-di-4/src/test/resources/application.yml
new file mode 100644
index 0000000000..da23e59c24
--- /dev/null
+++ b/spring-di-4/src/test/resources/application.yml
@@ -0,0 +1 @@
+ambiguous-bean: 'B'
\ No newline at end of file
diff --git a/spring-di-4/src/test/resources/logback-test.xml b/spring-di-4/src/test/resources/logback-test.xml
new file mode 100644
index 0000000000..8d4771e308
--- /dev/null
+++ b/spring-di-4/src/test/resources/logback-test.xml
@@ -0,0 +1,12 @@
+
+
+
+
+ [%d{ISO8601}]-[%thread] %-5level %logger - %msg%n
+
+
+
+
+
+
+
\ No newline at end of file