关于spring注解中@Autowired、@Resource、@Qualifier 的使用场景以及区别介绍
2018-06-02 21:16
549 查看
首先可以确定,@Autowired和@Resource 这两个注解都是可以用来实现Bean的依赖注入,@Qualifier注解需结合@Autowired注解一起使用。
一、@Resource 注解有两个属性,name和type。
如果没有指定name和type,那么将在容器中查找与属性名称相同的bean实现依赖注入,如果没找到,则通过属性类型查询容器中对应的bean。
指定name值,将通过name值查询容器中对应的bean,没找到,服务启动抛异常。
指定type值,将通过type值查询容器中对应的bean,没找到,服务启动抛异常。
同时指定name和type值,将通过name和type值查询容器中对应的bean,没找到,服务启动抛异常。
二、@Autowired 按照类型进行装配
如果没找到,服务启动抛异常。可指定required属性为false,则允许装配不成功,服务可正常启动。
如果接口由多个实现,根据业务想要注入某个指定Bean,可结合@Qqualifier注解同时使用,@Qqualifier可制定容器中Bean的名称。如下:
@Autowired
@Qualifier(name="businessDao")
private BusinessDao businessDao;
另外,@Resource是J2EE提供的注解,@Autowired和@Qualifier 由spring提供。如果系统想减少spring依赖,项目可以统一使用@Resource注解。
相关文章推荐
- spring中@Autowired注解、@Resource注解的区别,以及@Qualifier的使用
- Spring整理系列(10)——@Autowired自动装配、结合@Qualifier过滤及与JSR-250@Resource注解、JSR-330@Inject注解的区别、@Named使用
- Spring中@Resource、@Autowired、@Qualifier注解的使用和区别
- Spring 中关于@Resource注解,以及其和@Autowired注解的区别
- spring中自动注解配置以及@Resource和@Autowired的区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring中@Resource、@Autowired、@Qualifier的注解注入及区别
- spring 注解说明以及@Resource和@Autowired的区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring @Autowired @Resource @Inject 注解使用方法及区别总结
- Spring中@Resource、@Autowired、@Qualifier的注解注入及区别