21自动装配-@Resource&@Inject
Posted grand-jon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21自动装配-@Resource&@Inject相关的知识,希望对你有一定的参考价值。
21、自动装配[email protected]&@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的主要内容,如果未能解决你的问题,请参考以下文章
Spring/Spring学习 自动装配@Autowired 和 @Resource
解决自定义Shiro.Realm扩展类不能用注解(@Resource或@Autowire)自动装配的问题