@Resource与@Autowired区别

每次理解清楚,过段时间就忘了,还是记一下,方便之后再回看。

@ Autowired 是spring提供,包含3种自动装配Bean形式
1、@Autowired默认按类型byType匹配,自动装配Bean,可写在成员属性上,也可写在方法上
2.@Autowired(required=false),默认依赖的对象必须存在,否则报错,如果允许null值,设置required属性为false
3.按名称装配Bean,与@Qualifier组合使用,解决按类型匹配找到多个Bean的问题

@Resource 是JSR-25O提供的,属于Java EE提供,包含2种自动装配Bean形式
1.默认按名称byName进行装配,默认使用成员属性的变量名,当找不到匹配的bean再按类型class装配和变量名无关了,和变量名前面的类型有关,可写在成员属性上,也可写在方法上
2.可指定name属性,一般不用指定name属性,如果一旦指定name属性,如果按名称找不到,就不会再按类型装配了,所以一般不要写name

猜你喜欢

转载自www.cnblogs.com/xuzhujack/p/10894484.html