为什么还需要自定义工厂
自定义工厂的好处是更灵活的创建 bean
,比如在创建前后进行一些额外的操作。
方便整合第三方框架
装配自定义工厂两种方式
完全自定义
将自定义的工厂类纳入 spring
容器管理,(推荐)命名为 xxxFactoryBean
,如案例的第一行代码
告诉 spring
使用我们自定义的工厂来创建实例factory-bean
引用上面自定义工厂的id,factory-method
指定工厂中的方法
配置文件
<bean id="daoFactoryBean" class="top.lldwb.spring.ch01.factory.DaoFactory"/>
<bean id="userDao" factory-bean="daoFactoryBean" factory-method="getUserDao"/>
实现 FactoryBean 接口(官方推荐)
实现 Spring
提供的 FactoryBean
接口来创建自定义工厂
当需要使用自定义工厂所产生的 bean
的时候,spring
会调用对应工厂的 getObject
方法返回创建好的对象
配置文件
<bean id="userDaoS" class="top.lldwb.spring.ch01.factory.DaoFactoryBean"/>