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

 

posted @ 2020-08-16 21:45  orz江小鱼  阅读(737)  评论(0编辑  收藏  举报