springboot中自动装配@Resource和@Autowired的区别
时间: 2024-05-20 11:11:21 浏览: 144
1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf
在Spring框架中,@Autowired和@Resource都是用来自动装配bean的注解,它们的作用类似。但是它们之间还是有一些区别的,具体如下:
1. @Autowired是Spring框架提供的,而@Resource是JavaEE提供的;
2. @Autowired是按照类型注入的,如果有多个bean符合类型,还需要根据名称来注入;而@Resource是按照名称进行注入的,如果名称找不到,才会按照类型注入;
3. @Autowired默认是required=true,即必须存在一个匹配的bean,否则会抛出异常;而@Resource默认是required=false,即可以为空,如果找不到名称相匹配的bean,则注入null;
4. @Autowired可以用在构造方法、属性和方法参数上,而@Resource只能用在属性和方法参数上。
因此,一般来说,如果使用Spring框架,建议使用@Autowired进行自动装配。如果需要使用JavaEE规范,可以使用@Resource。
阅读全文