Spring In Action 学习笔记(二)
个人学习Spring In Action学习笔记系列 (二)
源码地址 https://github.com/spring-projects/spring-framework
U2 基本的Bean装配
在Spring中,组件无须自己负责与其他组件的关联,容器负责把协作组件的引用给予各个组件。例如,订单管理组件需要一个信用卡验证器,但是它没有必要创建信用卡验证器。
创建系统组件之间的协作关系的这个动作是DI的关键,通常被称之为装配
2.1 容纳你的Bean
容器可以创建组件,装配和配置组件,以及管理他们的整个生命周期(从new到finalize)
容器是Spring框架的核心,使用DI管理所有组成应用系统的组件。Spring提供了多种容器实现,并分为两类。Bean工厂是最简单的容器,提供了基础的依赖注入支持。应用上下文ApplicationContext建立在Bean工厂基础之上,提供了系统构架服务。
BeanFactory介绍
Bean工厂采用了工厂设计模式,这个类负责创建和分发Bean。Bean工厂还可以在实例化这些对象的时候,创建协作对象间的关联关系。
ApplicationContext继承了BeanFactory,拥有了基本的IOC功能
2.2 Bean的生命
Spring应用上下文的生命周期与Bean工厂只有一点不同,调用了setApplicationContext()方法
创建Bean
需要一些执行者,定义为Performer接口
声明一个简单的Bean,第一个参与这是Juggle
在Juggle类中定义了第一个参与者Duke,可以在XML中声明
通过构造函数注入
构造器函数注入是保证Bean在使用之前被完整配置的最安全方法,但是它不能配置复杂的内容
2.3 注入Bean的属性
通常Bean提供一对函数用来访问属性 setXXX() 和 getXXX(),通过Setter注入,利用setter方法的属性来配置属性值
2.3.1 注入简单的数值
2.3.2 使用其他的Bean
注入内部Bean
2.3.3 装配集合
2.4 自动装配
2.5 控制Bean创建
2.5.1 Bean范围化
2.5.2 利用工厂方法来创建Bean
静态工厂方法创建一个单例实例
2.5.3 初始化和销毁Bean