@Resource与@Autowired注解的区别

最近写了几个demo发现这两个注解可以替换使用,但是还是有细微的区别

1、@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。

2、@Autowired默认 按类型装配(这个注解是属业spring的),默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:
@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用,如下:
Java代码
@Autowired() @Qualifier("baseDao")    
private BaseDao baseDao;
Spring属于第三方的,J2EE是Java自己的东西。使用@Resource可以减少代码和Spring之间的耦合。
@Resource(name = "manImpl")//前提是有两个实现类,注意是manImpl不是ManImpl,因为使用@Service,容器为我们创建bean时默认类名首字母小写  


链接:https://www.zhihu.com/question/39356740/answer/80926247
来源:知乎

猜你喜欢

转载自blog.csdn.net/kevin_loving/article/details/80535285