一、简介:
在Spring IOC容器中有两种类型的Bean,一种是普通的Bean,即自定义创建的Bean类;另一种是工厂Bean,即通过工厂产生返回给IOC容器的Bean。在这里重点学习通过工厂创建返回给IOC容器的Bean,即工厂Bean。
二、工厂Bean应用的主要场合
如果普通bean的配置比较复杂,在配置文件中定义时步骤比较多,此时可以使用 FactoryBean,即实现于接口FactoryBean的类,加载到xml配置文件中所产生的Bean。
三、定义FactoryBean的步骤
- 定义一个类,实现FactoryBean接口
- 将该bean添加到IoC容器中
- 从容器中获取该bean,返回的是该FactoryBean中的getObject()方法返回的对象
四、具体代码实现
1.定义一个类,实现FactoryBean接口
// TODO: 2021/6/25 这个是方是利用FactoryBean工厂来创建一个Bean,用于相对复杂的Bean的创建,可以在这个FactorBean工厂中先将要创建的Bean进行初始化的操作
public class CalendarIoc5 implements FactoryBean<Date> {
private int year;
private int month;
private int day;
// TODO: 2021/6/25 比如时间对象Date,前期要进行的初始化设置较多,如果直接通过Bean来创建,设置比较复杂
@Override
public Date getObject() throws Exception {
Calendar instance = Calendar.getInstance();
instance.set(Calendar