Spring 中,@Autowired 和@Resource 的区别是什么?
1,365 total views, 3 views today
首先,@Resource 是 JSR-250 标准的注释,不属于 Spring 中的标准注解,而@Autowired 属于 Spring 中的注解。
@Autowired 与@Resource 都可以用来装配 bean. 都可以写在字段上, 或写在 setter 方法上。
不同在于:
@Autowired 默认按类型装配(byType),如果要按名称装配的话,必须和@Qualifier 注解一起使用。
1 2 3 |
@Autowired() @Qualifier("myBean") private MyBean myBean; |
@Resource,默认按名称进行装配(byName),通过 name 属性设置名称,如果没有设置 name 属性,则默认取字段名名称进行查找。如果还是找不到名称,则会按照类型进行装配。需要注意的是,如果 name 属性被设置了,那么必须是按照名称进行装配。
1 2 |
@Resource("myBean") private MyBean myBean; |
原创文章,转载请注明出处!http://www.javathings.top/spring中,autowired和resource的区别/