【Spring实战】2.装配Bean

创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入的本质。

Spring配置的可选方案

  1. 在XML中进行显示的配置
  2. 在Java中进行显示配置
  3. 隐式的Bean发现机制和自动装备

 

建议尽可能的使用自动装配机制。显式配置越少越好,当你必须要显示配置bean的时候,我推荐使用类型安全并且比XML更加强大的JavaConfig

 

1.自动化装配Bean

 

Spring从两个角度实现自动化装配

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

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

组件扫描和自动装配组合在一起就能发挥出强大的威力,他们能够将你显示的配置降低到最少。

 

组件扫描默认是不启用的,我们需要显示的配置一下,从而命令它去寻找带有@Component注解的类,并为其创建bean。

ComponentScan注解启用了组件扫描

【Spring实战】2.装配Bean

@ComponentSan默认会扫描与配置类相同的包

 

如果倾向于使用XML来启动组件扫描的话,那么可以使用Spring Context的命名空间的

<context:component-scan>元素【Spring实战】2.装配Bean

Junit单元测试

【Spring实战】2.装配Bean

设置组件扫描的基础包

【Spring实战】2.装配Bean

或者这样

【Spring实战】2.装配Bean

或者这样

【Spring实战】2.装配Bean

或者这样

【Spring实战】2.装配Bean

通过为bean添加注解实现自动装配

1.在构造器上添加@Autowired注解

【Spring实战】2.装配Bean

[email protected]注解还能用在属性的Setter方法上

【Spring实战】2.装配Bean

如果没有匹配的话,回报异常,所以需要以下配置处理

【Spring实战】2.装配Bean

 

2.通过Java代码装配Bean

尽管在很多场景下组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但是有时候自动化配置的方案行不通,因此需要明确配置Spring,比如说,你想要将第三方库中的组件配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired,这种情况只能使用显示的装配方式。

显示的装配方式有两种可选方案:

Java和XML

2.1 JavaConfig显示配置

1. 创建配置类

【Spring实战】2.装配Bean

2.声明简单的bean

【Spring实战】2.装配Bean

借助JavaConfig实现注入

【Spring实战】2.装配Bean

 

3.导入混合配置

【Spring实战】2.装配Bean