【Spring实战】2.装配Bean
创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入的本质。
Spring配置的可选方案
- 在XML中进行显示的配置
- 在Java中进行显示配置
- 隐式的Bean发现机制和自动装备
建议尽可能的使用自动装配机制。显式配置越少越好,当你必须要显示配置bean的时候,我推荐使用类型安全并且比XML更加强大的JavaConfig
1.自动化装配Bean
Spring从两个角度实现自动化装配
组件扫描:Spring会自动发现应用上下文中所创建的bean。
自动装配:Spring自动满足bean之间的依赖。
组件扫描和自动装配组合在一起就能发挥出强大的威力,他们能够将你显示的配置降低到最少。
组件扫描默认是不启用的,我们需要显示的配置一下,从而命令它去寻找带有@Component注解的类,并为其创建bean。
ComponentScan注解启用了组件扫描
@ComponentSan默认会扫描与配置类相同的包
如果倾向于使用XML来启动组件扫描的话,那么可以使用Spring Context的命名空间的
<context:component-scan>元素
Junit单元测试
设置组件扫描的基础包
或者这样
或者这样
或者这样
通过为bean添加注解实现自动装配
1.在构造器上添加@Autowired注解
[email protected]注解还能用在属性的Setter方法上
如果没有匹配的话,回报异常,所以需要以下配置处理
2.通过Java代码装配Bean
尽管在很多场景下组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但是有时候自动化配置的方案行不通,因此需要明确配置Spring,比如说,你想要将第三方库中的组件配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired,这种情况只能使用显示的装配方式。
显示的装配方式有两种可选方案:
Java和XML
2.1 JavaConfig显示配置
1. 创建配置类
2.声明简单的bean
借助JavaConfig实现注入
3.导入混合配置