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的方式更加强大,类型更加安全,并且易于重构。