@Autowired是spring自己定义的注解。默认优先按照类型去容器中找对应的组件,如果找到多个相同类型的组件,再将属性的
名称作为组件的名称去容器中查找。如果设置它的required属性为false,当没有找到相应bean的时候,系统不会抛出异常。支持
@Primary的功能。
@Resource是JSR-250规范定义的注解。默认是按照组件名称进行装配。如果没有设置name属性,属性的名称作为组件的名称
去容器中查找。当没有找到相应bean的 时候,系统抛出异常。不支持@Primary的功能。
@Inject是是JSR330规范定义的注解,需要导入javax.inject的包。默认优先按照类型去容器中找对应的组件,如果找到多个相同类型的组件,再将属性的名称作为组件
的名称去容器中查找。当没有找到相应bean的时候,系统抛出异常。支持@Primary的功能。
@Autowired、@Resource和@Inject的区别
最新推荐文章于 2024-03-12 11:10:54 发布