@Autowired和@Resource注解
1. @Autowired是根据类型实现依赖注入,@Resource又支持名字和类型注入(名字注入优先,找不到名字再找类型)
2. @Resource找寻的是确定的已知的资源,相当于给一个坐标,你直接去找。@Autowired是在一片区域中尝试寻找合适的资源
在idea中如果我们使用了@Autowired在属性上的时候会出现警告,并且推荐我们使用构造方法注入,而Resource就不会,其中有一个原因就是容易忽略类的单一原则。
@Component和@Bean
@Component注解作用在类上,用于自动检测和使用类路径扫描自动装配bean,使用该注解时表示一个类对于一个bean
@Bean注解作用在方法上,即告诉Spring要产生一个bean对象,然后这个bean对象会交给Spring中的IOC容器管理,产生Bean的这个方法只会被Spring调用一次。
@Bean注解的方法返回值是对象,我们可以在方法中给这个对象设置我们想要的属性。
@Bean注解可以实现自定义加载类,我们在装配第三方库中的组件时,只能通过bean注解来实现,因为我们无法在这个组件中加上添加Component注解