bean基于Annotation装配;@Resource和@Autowired区别
Posted superyoungy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bean基于Annotation装配;@Resource和@Autowired区别相关的知识,希望对你有一定的参考价值。
1、bean基于Annotation装配
2、@Resource和@Autowired区别补充:
i.
@Resource是javaEE中的方法,@Autowired是spring中的方法
ii.
不能在普通类(不在IOC容器中的类)中使用@Resource和@Autowired
iii.
@Autowire不能用在局部变量上,但是可以用于“@bean+返回值”的方法参数前或方法前,(不能用于“三层组件+扫描器”中的方法的方法参数前)
错误案例(前面漏截了@Service):
正确案例1:
正确案例2(前面漏截了@Bean):
iiii.@Resource(JSR标准,java提供的import javax.annotation.Resource;)和spring中的@Autowired(import org.springframework.beans.factory.annotation.Autowired;)均会被spring追踪到,idea中被注入和注入的标识:
iiiii.
@Bean
public OilCar oilCar(@Autowired Speed speed2) {//这里不能用@Resource,而且@Autowired居然可以按照name匹配
OilCar o=new OilCar();
o.setSpeed(speed2);
o.setName("oilCar。。。。。");
return o;
}
以上是关于bean基于Annotation装配;@Resource和@Autowired区别的主要内容,如果未能解决你的问题,请参考以下文章