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