Spring-IoC-DI-基于注解方式的依赖注入-(案例四:使用@Qualifier、@AutoWired注解实现根据指定id实现自动装配)
Spring-IoC-DI-基于注解方式的依赖注入-(案例四:使用@Qualifier、@AutoWired注解实现根据指定id实现自动装配)
@Qualifier要搭配@AutoWired使用
说明:同时使用@Qualifier、@AutoWired注解,只会根据你设置的id来匹配
(1)编写两个dao类,一个service类,使用注解
@Repository public class UserDao { public void addBook() { System.out.println("userDao正在保存user"); } }
@Repository public class UserDaoExt extends UserDao { @Override public void addBook() { System.out.println("UserDaoExt正在为你添加user"); } }
@Service public class UserService { @Qualifier(value = "userDaoExt") @Autowired private UserDao userDao; public void add() { System.out.println("Service正在调用Dao"); userDao.addBook(); } }
(2)配置文件,开启组件扫描
<context:component-scan base-package="com.orz.spring"/>
(3)测试
@Test public void test1() { ConfigurableApplicationContext applicationContext=new ClassPathXmlApplicationContext("bean.xml"); UserService userService = applicationContext.getBean("userService", UserService.class); userService.add(); }
(4)结果
Service正在调用Dao
UserDaoExt正在为你添加user