与静态工厂不同的是 , 实例工厂必选先创建工厂的实例对象 , 然后通过工厂实例对象生产所需要的实力 , 所有方法必须是 !非静态! 的
工厂类
public class MyBeanFactory {
public UserService createUserService(){
return new UserServiceImpl();
}
}
spring 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 先创建工厂的实例-->
<bean id="myBeanFactory" class="com.hx.lp.staticfactory.MyBeanFactory"></bean>
<!-- 通过工厂实例生产 userService-->
<bean id="userService" factory-bean="myBeanFactory" factory-method="createUserService"></bean>
</beans>