码迷,mamicode.com
首页 > 其他好文 > 详细

21、自动装配-@Resource&@Inject

时间:2018-11-29 19:57:37      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:lse   ali   区别   group   repos   autowire   epo   ota   end   

21、自动装配-@Resource&@Inject

  • Spring 还支持使用@Resource(JSR250)和@Inject(JSR330)[Java规范的注解]
  • AutowiredAnnotationBeanPostProcessor 完成解析自动装配功能

21.1 @Resource

  • 可以和@Autowired一样实现自动注入功能,默认是按照组件名称进行装配的。
  • 没有能支持@Primary功能,没有支持@Autowired(required = false)

21.2 @Inject

  • @Inject 需要导入javax.inject依赖才能使用,和@Autowired功能一样,但没有required=false属性值设定。

22.3 区别

  • @Autowired 是Spring定义的,@Resource@Inject 都是Java的规范
<!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
<dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
    <version>1</version>
</dependency>

22.4 代码实例

//    @Autowired(required = false)
//    @Qualifier("bookRepository")
//    @Resource(name = "bookRepository")
    @Inject
    private BookRepository bookRepository2;

21、自动装配-@Resource&@Inject

标签:lse   ali   区别   group   repos   autowire   epo   ota   end   

原文地址:https://www.cnblogs.com/Grand-Jon/p/10040014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!