方式一:通过构造器注入Bean
构造器注入(Constructor Injection)是一种依赖注入的方式,它通过构造器来注入依赖。这种方式相比于字段注入(Field Injection)和setter注入(Setter Injection),具有更高的安全性,因为它可以在对象创建时强制依赖关系,从而避免了NullPointerException的风险。
方式二:@Autowired注解注入Bean
Spring已经不推荐使用@Autowired注解
根据属性类型(bean的类型)找bean,找到一个直接注入,若没有找到或找到多个无法注入,则还会按照属性名对应bean的id去查找对应的bean,如果存在则注入,如果还是没有找到则抛出异常。
方式三:通过ApplicationContext接口获取Bean
在@SpringBootApplication修饰的主启动类的main方法中通过ApplicationContext的父接口BeanFactory的getBean(“beanId”)方法获取Bean实例。
方式四:通过@Resource注解注入Bean
@Resource():先根据属性名作为bean的id去IOC容器中找注入的bean,如果找到bean则直接注入(只会找到一个,因为bean的id在IOC容器中是唯一的),若没有找到则会按照属性的类型(bean的类型)去找bean,如果找到一个则直接注入,如果找到0个或多个则注入失败。
@Resource(name = "xxx"):根据name指定的bean的id去IOC容器中找bean进行属性注入,如果找到则进行注入,如果找不到则注入失败。