diff --git a/spring-di/src/main/resources/ioc-context-by-type.xml b/spring-di/src/main/resources/ioc-context-by-type.xml
new file mode 100644
index 0000000000..39a21b6917
--- /dev/null
+++ b/spring-di/src/main/resources/ioc-context-by-type.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-di/src/main/resources/ioc-context.xml b/spring-di/src/main/resources/ioc-context.xml
index 4ea97fe644..47f7da8959 100644
--- a/spring-di/src/main/resources/ioc-context.xml
+++ b/spring-di/src/main/resources/ioc-context.xml
@@ -18,9 +18,10 @@
-
+
-
+
+
diff --git a/spring-di/src/test/java/org/baeldung/store/XmlAppConfigByTypeUnitTest.java b/spring-di/src/test/java/org/baeldung/store/XmlAppConfigByTypeUnitTest.java
new file mode 100644
index 0000000000..2dd5f1fcb9
--- /dev/null
+++ b/spring-di/src/test/java/org/baeldung/store/XmlAppConfigByTypeUnitTest.java
@@ -0,0 +1,32 @@
+package org.baeldung.store;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+/**
+ * Separate unit test class where only one Item object is available for
+ * autowiring. If the ioc-context.xml were used for autowiring by type, there
+ * would be multiple qualifying Item objects, causing a failure.
+ *
+ * @author Justin Albano
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration("classpath:/ioc-context-by-type.xml")
+public class XmlAppConfigByTypeUnitTest {
+
+ @Autowired
+ @Qualifier("xml-store-by-autowire-type")
+ private Store storeByAutowireInjectionByType;
+
+ @Test
+ public void givenValidXmlConfig_WhenInjectStoreByAutowireInjectionByType_ThenBeanIsNotNull() {
+ assertNotNull(storeByAutowireInjectionByType);
+ assertNotNull(storeByAutowireInjectionByType.getItem());
+ }
+}
diff --git a/spring-di/src/test/java/org/baeldung/store/XmlAppConfigUnitTest.java b/spring-di/src/test/java/org/baeldung/store/XmlAppConfigUnitTest.java
index a032ae8df5..79fabfd84e 100644
--- a/spring-di/src/test/java/org/baeldung/store/XmlAppConfigUnitTest.java
+++ b/spring-di/src/test/java/org/baeldung/store/XmlAppConfigUnitTest.java
@@ -21,6 +21,10 @@ public class XmlAppConfigUnitTest {
@Autowired
@Qualifier("xml-store-by-setter")
private Store storeBySetterInjection;
+
+ @Autowired
+ @Qualifier("xml-store-by-autowire-name")
+ private Store storeByAutowireInjectionByName;
@Autowired
@Qualifier("xml-store-by-setter-lazy")
@@ -38,6 +42,12 @@ public class XmlAppConfigUnitTest {
assertNotNull(storeByConstructorInjection.getItem());
}
+ @Test
+ public void givenValidXmlConfig_WhenInjectStoreByAutowireInjectionByName_ThenBeanIsNotNull() {
+ assertNotNull(storeByAutowireInjectionByName);
+ assertNotNull(storeByAutowireInjectionByName.getItem());
+ }
+
@Test
public void givenValidXmlConfig_WhenInjectStoreBySetterInjectionLazy_ThenBeanIsNotNull() {
assertNotNull(storeBySetterInjectionLazy);