@Autowired是spring自己定义的注解。默认优先按照类型去容器中找对应的组件,如果找到多个相同类型的组件,再将属性的
名称作为组件的名称去容器中查找。如果设置它的required属性为false,当没有找到相应bean的时候,系统不会抛出异常。支持
@Primary的功能。
@Resource是JSR-250规范定义的注解。默认是按照组件名称进行装配。如果没有设置name属性,属性的名称作为组件的名称
去容器中查找。当没有找到相应bean的 时候,系统抛出异常。不支持@Primary的功能。
@Inject是是JSR330规范定义的注解,需要导入javax.inject的包。默认优先按照类型去容器中找对应的组件,如果找到多个相同类型的组件,再将属性的名称作为组件
的名称去容器中查找。当没有找到相应bean的时候,系统抛出异常。支持@Primary的功能。
@Autowired、@Resource和@Inject的区别
最新推荐文章于 2025-01-12 09:59:24 发布
本文深入解析了Spring框架中@Autowired、@Resource和@Inject三种依赖注入方式的区别。分别介绍了它们的默认行为、查找策略以及对@Primary的支持情况,帮助开发者更好地理解和应用Spring的依赖注入机制。
1401

被折叠的 条评论
为什么被折叠?



