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区别的主要内容,如果未能解决你的问题,请参考以下文章

Spring Bean的装配方式

Spring Bean 基于注解的装配

Spring - Bean装配

Spring框架bean的配置:基于注解的配置,Autowired 自动装配 Bean,泛型依赖注入

Spring初学之annotation自动装配

(转)java之Spring(IOC)注解装配Bean详解