resource和autowire区别
时间: 2023-09-26 13:04:51 浏览: 75
(转)Spring中@Autowired注解和@Resource注解的区别
5星 · 资源好评率100%
resource和autowire都是Spring框架中用于依赖注入的注解。
@Resource是Java EE提供的注解,它标注的是需要注入的bean的名字,它的工作方式类似于@Autowired(required=true),需要确保被注入的bean在容器中存在,否则会抛出异常。
@Autowired(required=false)和@Autowired是等价的,都是按照类型进行注入。如果被注入的bean在容器中不存在,required=false时不会抛出异常,而是让该属性为null。
如果一个bean既没有被标注@Resource又没有被标注@Autowired,那么Spring容器会按照变量名在容器中查找是否有对应的bean,然后注入。
因此,两者最大的区别在于,@Resource需要保证被注入的bean在容器中存在,而@Autowired可以通过required=false来容忍不存在的情况。
阅读全文