From dd9b82c6075dd3b408a86f5be1ec6ed1c2ad24ba Mon Sep 17 00:00:00 2001 From: qinyingjie Date: Mon, 14 Nov 2022 23:09:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:FactoryBean=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kwan/spring5/dao/impl/UserDaoImpl.java | 2 ++ .../com/kwan/spring5/service/UserService.java | 13 ++++++++++ src/main/resources/spring16.xml | 17 ++++++++++++ src/main/resources/spring17.xml | 26 +++++++++++++++++++ src/main/resources/spring18.xml | 17 ++++++++++++ src/test/java/Spring_16_ComponentTest.java | 20 ++++++++++++++ src/test/java/Spring_17_ComponentTest.java | 20 ++++++++++++++ src/test/java/Spring_18_ComponentTest.java | 20 ++++++++++++++ src/test/java/Spring_19_QualifierTest.java | 20 ++++++++++++++ src/test/java/Spring_20_ResourceTest.java | 20 ++++++++++++++ 10 files changed, 175 insertions(+) create mode 100644 src/main/resources/spring16.xml create mode 100644 src/main/resources/spring17.xml create mode 100644 src/main/resources/spring18.xml create mode 100644 src/test/java/Spring_16_ComponentTest.java create mode 100644 src/test/java/Spring_17_ComponentTest.java create mode 100644 src/test/java/Spring_18_ComponentTest.java create mode 100644 src/test/java/Spring_19_QualifierTest.java create mode 100644 src/test/java/Spring_20_ResourceTest.java diff --git a/src/main/java/com/kwan/spring5/dao/impl/UserDaoImpl.java b/src/main/java/com/kwan/spring5/dao/impl/UserDaoImpl.java index 42e4b94..277ce2e 100644 --- a/src/main/java/com/kwan/spring5/dao/impl/UserDaoImpl.java +++ b/src/main/java/com/kwan/spring5/dao/impl/UserDaoImpl.java @@ -1,6 +1,7 @@ package com.kwan.spring5.dao.impl; import com.kwan.spring5.dao.UserDao; +import org.springframework.stereotype.Repository; /** * UserDao 实现类 @@ -9,6 +10,7 @@ import com.kwan.spring5.dao.UserDao; * @version : 2.2.0 * @date : 2022/11/12 20:08 */ +@Repository(value = "userDaoImpl") public class UserDaoImpl implements UserDao { @Override public void update() { diff --git a/src/main/java/com/kwan/spring5/service/UserService.java b/src/main/java/com/kwan/spring5/service/UserService.java index ac8aed3..8144a88 100644 --- a/src/main/java/com/kwan/spring5/service/UserService.java +++ b/src/main/java/com/kwan/spring5/service/UserService.java @@ -1,6 +1,9 @@ package com.kwan.spring5.service; import com.kwan.spring5.dao.UserDao; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; /** * user服务类 @@ -9,11 +12,16 @@ import com.kwan.spring5.dao.UserDao; * @version : 2.2.0 * @date : 2022/11/12 19:34 */ +@Service(value = "userService") public class UserService { /** * 创建UserDao类型属性,生成set方法 */ + @Autowired + @Qualifier(value = "userDaoImpl") +// @Resource(name = "userDaoImpl") +// @Resource(type = UserDaoImpl.class) private UserDao userDao; public void setUserDao(UserDao userDao) { @@ -24,4 +32,9 @@ public class UserService { System.out.println("service add..............."); userDao.update();//调用dao方法 } + + + public void update() { + System.out.println("service update..............."); + } } diff --git a/src/main/resources/spring16.xml b/src/main/resources/spring16.xml new file mode 100644 index 0000000..73304e2 --- /dev/null +++ b/src/main/resources/spring16.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/spring17.xml b/src/main/resources/spring17.xml new file mode 100644 index 0000000..9a738da --- /dev/null +++ b/src/main/resources/spring17.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/spring18.xml b/src/main/resources/spring18.xml new file mode 100644 index 0000000..73304e2 --- /dev/null +++ b/src/main/resources/spring18.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/src/test/java/Spring_16_ComponentTest.java b/src/test/java/Spring_16_ComponentTest.java new file mode 100644 index 0000000..8006ee1 --- /dev/null +++ b/src/test/java/Spring_16_ComponentTest.java @@ -0,0 +1,20 @@ +import com.kwan.spring5.service.UserService; +import org.junit.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * 注解ioc + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2022/11/12 18:43 + */ +public class Spring_16_ComponentTest { + @Test + public void testBean3() { + ClassPathXmlApplicationContext context = + new ClassPathXmlApplicationContext("spring16.xml"); + UserService userService = context.getBean("userService", UserService.class); + userService.add(); + } +} diff --git a/src/test/java/Spring_17_ComponentTest.java b/src/test/java/Spring_17_ComponentTest.java new file mode 100644 index 0000000..63de832 --- /dev/null +++ b/src/test/java/Spring_17_ComponentTest.java @@ -0,0 +1,20 @@ +import com.kwan.spring5.service.UserService; +import org.junit.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * 开启组件扫描细节配置 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2022/11/12 18:43 + */ +public class Spring_17_ComponentTest { + @Test + public void testBean3() { + ClassPathXmlApplicationContext context = + new ClassPathXmlApplicationContext("spring17.xml"); + UserService userService = context.getBean("userService", UserService.class); + userService.update(); + } +} diff --git a/src/test/java/Spring_18_ComponentTest.java b/src/test/java/Spring_18_ComponentTest.java new file mode 100644 index 0000000..0de3d3b --- /dev/null +++ b/src/test/java/Spring_18_ComponentTest.java @@ -0,0 +1,20 @@ +import com.kwan.spring5.service.UserService; +import org.junit.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * 基于注解方式实现属性注入 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2022/11/12 18:43 + */ +public class Spring_18_ComponentTest { + @Test + public void testBean3() { + ClassPathXmlApplicationContext context = + new ClassPathXmlApplicationContext("spring18.xml"); + UserService userService = context.getBean("userService", UserService.class); + userService.add(); + } +} diff --git a/src/test/java/Spring_19_QualifierTest.java b/src/test/java/Spring_19_QualifierTest.java new file mode 100644 index 0000000..79011a7 --- /dev/null +++ b/src/test/java/Spring_19_QualifierTest.java @@ -0,0 +1,20 @@ +import com.kwan.spring5.service.UserService; +import org.junit.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * Qualifier注解 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2022/11/12 18:43 + */ +public class Spring_19_QualifierTest { + @Test + public void testBean3() { + ClassPathXmlApplicationContext context = + new ClassPathXmlApplicationContext("spring18.xml"); + UserService userService = context.getBean("userService", UserService.class); + userService.add(); + } +} diff --git a/src/test/java/Spring_20_ResourceTest.java b/src/test/java/Spring_20_ResourceTest.java new file mode 100644 index 0000000..699a952 --- /dev/null +++ b/src/test/java/Spring_20_ResourceTest.java @@ -0,0 +1,20 @@ +import com.kwan.spring5.service.UserService; +import org.junit.Test; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * Qualifier注解 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2022/11/12 18:43 + */ +public class Spring_20_ResourceTest { + @Test + public void testBean3() { + ClassPathXmlApplicationContext context = + new ClassPathXmlApplicationContext("spring18.xml"); + UserService userService = context.getBean("userService", UserService.class); + userService.add(); + } +} -- GitLab