IOC(FactoryBean)
FactoryBean:这个就叫工厂bean 专门作为一个bean交给IOC容器管理。
结论: 配置一个bean,如果没有实现FactoryBean接口:配置什么类型,就能够得到什么类型;
配置一个bean,如果实现了FactoryBean接口:配置 FactoryBean实现类类型,得到getObject()方法返回的对象



public class User {
private Integer id;
private String username;
private String password;
private Integer age;
public User() {
System.out.println("生命周期1:实例化");
...
}
接口
package com.atguigu.spring.factory;
import com.atguigu.spring.pojo.User;
import org.springframework.beans.factory.FactoryBean;
/**
* FactoryBean是一个接口,需要创建一个类实现该接口
* 其中有三个方法:
* getObject():通过一个对象交给ioc容器管理
* getObject():设置所提供对象的类型
* isSingLeton():所提供的的对象是否单例
* 当把FactoryBean的实现类配置为bean时,会将当前类中getObject()所返回的对象交给IOC容器管理
*/
public class UserFactoryBean implements FactoryBean<User> {
XML文件
<!--加载配置文件获取ioc容器时候,其实是把当前UserFactoryBean里面的getObject()方法所返回的对象交给ioc容器-->
<bean class="com.atguigu.spring.factory.UserFactoryBean"></bean>
浙公网安备 33010602011771号