Autowried与Resource注解有什么区别呢?
Autowried是Spring框架的一个注解,它默认根据类型来实现Bean的依赖注入。
在这个注解中,有一个required属性,默认值为true,表示必须实例化一个注入的Bean,如果找不到对应类型的Bean,在启动的时候就会报错。(如果我们不想要自动注入的话,就给他的默认值设为false)
此外,如果在Spring IOC容器中存在多个相同类型的Bean实例,AutoWried会先按照byType查找,再按照byName查找,如果都找不到就会显示异常。
针对这种情况,我们可以用primary和Qualified这两个注解来解决
primary表示优先级,当存在多个相同类型的Bean时候,优先使用声明了primary注解的Bean
Qualified注解类似于条件筛选,会根据指定的名称来筛选Bean
Resource注解是JDK自带的注解,在Spring中保留了这个注解,使用方法与Autowried相同。但是Resource注解的不同之处是Resource注解默认会先按照byName来查找Bean,再按照byType 来查找,当然也可以自己设置,在使用byName时候会先按照名称来进行依赖注入,使用byType时候会先按照类型来依赖注入。