spring注入bean的三种方式

1、自动化装配bean

组件装配:Spring会自动发现应用上下文所创建的bean。

自动装配:Spring自动满足bean之间的依赖

在类上加入@Component注解,告诉spring为这个类创建bean

使用@Autowired注解实现自动装配,也可以使用java规范的@Inject与@Autowired互换

注意:需要添加扫描组件,一种通过xml的方式配置<context:component-scan>元素,一种是在配置类中加入@ComponentScan

2、通过Java代码装配bean

借助JavaConfig类(在类上添加@Configuration的类,称为配置类)

通过返回对象的方法上添加@Bean注解,把返回的对象注解注入到spring中

@Bean注解会告诉spring这个方法会返回一个对象,该对象要注册为spring应用上下文中的bean

注意:在方法上有@Bean的注解时,spring将会拦截所有对它的调用,确保直接返回该方法所创建的bean,而不是本次都对其进行实际的调用

3、通过XML来装配bean

这个就比较简单了,通过<bean>标签就可以装配了。

总结:

第一种属于隐式配置,第二种和第三种属于显示配置,为了避免显示配置所带来的维护成本,建议最好使用第一种的自动化的隐式配置。但是如果确实需要显示的配置Spring的话,建议优先选择基于Java的配置,他比XML的方式更加强大,类型更加安全,并且易于重构。

猜你喜欢

转载自blog.csdn.net/TofuCai/article/details/82848387