本文主要是介绍Resource Autowire,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
@Resource注入
- Java自带的注解,javax.annotation.resource,Spring支持该注解
- 默认按照byName注入方式,通过反射机制自动注入的策略
- 装配策略:
①如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。
②如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。
③如果指定了type,则从上下文中找到类似匹配的唯一bean进行装配,找不到或是找到多个,都会抛出异常。
④如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。
值得注意的是,如果使用了@Resource注解,且没有配置name 和 type,默认使用byName装配,装配失败时,使用byType。 But,如果你指定了name 或 type,则不会按上述逻辑装配.
@Autowire注入
- Spring 提供的注解形式
- 默认按照byType注入方式,要求依赖必须存在
- 使用@Autowired按照名称byName来装配,可以结合@Qualifier注解一起使用
这篇关于Resource Autowire的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!