Spring自动注入之@Autowired、@Resource、@Inject

相同点:

  三者都支持对spring bean的自动注入

不同点:

  ①Autowired按照类型进行注入( Bean bean = applicationContext.getBean(Bean.class);),如果找到多个类型相同的组件,再将属性的名字作为组件的id去容器中查找。

可以使用@Qualifier指定需要装配的组件id,而不是通过属性名。还可以使用@Primary默认使用首选的bean。如果容器中没有找到bean,会报错,可以使用@Autowired(required=false)避免。

  ②Resource先通过名字找,如果找不到通过类型找,不支持@Primary和required=false。

  ③需要导入javax.inject包,不支持required=false。

posted @ 2019-03-20 10:35  浅安时光i  阅读(400)  评论(0编辑  收藏  举报