一、Spring配置的可选方案
- 在XML中进行显示配置
- 在java中进行显示配置
- 隐式的bean发现机制和自动装配
建议:尽可能使用自动配置
二、自动化装配bean
-
连个角度实现自动化装配:
- 组件自动扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。
- 自动装配(autowiring):Spring自动满足bean之间的依赖。
-
2.1、创建可被发现的bean:
- 使用@Component注解,说明该类会被作为组件类,并告知Spring要为这个类创建bean
- 组件默认是不启用的,需要显示配置Spring,从而令它去寻找带有@Component注解的类,并为其创建bean。
- 如果用xml配置的话,可以使用Spring context命名空间的<context:component-scan base-package="sound-system">元素
-
2.2、为组件扫描的bean命名
- Spring应用上下文中所有的bean都会给定一个ID,如果没有设置,会默认ID为类名首字母小写。
- 手动设置ID:@Component("xixi")
-
2.3、设置组件扫描的基础包
- 默认Spring会配置类所在的包作为基础包(base scan)来扫描组件,如果想扫描不同的包,用@Component("soundsystem")指明包。
-
2.4通过为bean添加注解来实现自动装配
- @Autowired注解可以用在构造器上/属性的Setter方法上,还可以用在类的任何方法上。@Autowired(required=false) 时Spring会尝试自动装配,如果没有匹配的bean,Spring会让bean处于为装配状态。
三、通过java代码装配bean
- 如果将第三方库中的组件装配到应用中,是没办法在它的类上添加@Component和@Autowired注解,因此不能使用自动装配了。
- 3.1、创建配置类
- 创建JavaConfig类的关键在于为其添加@Configuration注解
- 3.2 声明简单的bean
- @Bean注解会告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean。方法体中包含了最终产生bean的逻辑。
四、通过XML装配bean
- 在Spring刚开始的时候XML是主流的配置方式
- 4.1、创建XML配置规范
- 创建XML文件,且以<beans>元素为根
- 4.2、声明一个简单的<bean>
- <bean id="compactDisc" class="soundsystem.SgtPeppers"
- 4.3、借助构造器注入初始化bean
- 使用c-命名空间声明构造器参数
- 使用<constructor-arg>元素可以装配集合
五、导入和混合配置
可以在JavaConfig中引入XML配置,也可以在XML中引入JavaConfig配置。