<!--默认构造 <bean id="userServiceId" class="com.zhiyou100.service.impl.UserServiceImpl"/>--> <!--静态工厂 factory-method 肯定静态方法名 <bean id="userServiceId" class="com.zhiyou100.service.impl.UserServiceImpl" factory-method="createUserService"/>--> <!--建立工厂实例对象 全部方法非静态 <bean id="userServiceFactoryId" class="com.zhiyou100.service.impl.UserServiceFactory"/> factory-bean 肯定工厂实例 factory-method 肯定普通方法 <bean id="userServiceId" factory-bean="userServiceFactoryId" factory-method="createUserService" scope="prototype"/>-->
一、默认构造spring
<bean id="" class=""> 必须提供默认构造框架
二、静态工厂工具
经常使用与spring整合其余框架(工具)spa
静态工厂:用于生成实例对象,全部的方法必须是staticprototype
<bean id="" class="工厂全限定类名" factory-method="静态方法">对象
工厂:class
public class MyBeanFactory {配置
public static UserService createService(){service
return new UserServiceImpl();方法
}
}
spring配置:
<!-- 将静态工厂建立的实例交予spring
class 肯定静态工厂全限定类名
factory-method 肯定静态方法名
-->
<bean id="userService" class="com.zhiyou100.MyBeanFactory" factory-method="createService"></bean>
三、实例工厂
实例工厂:必须先有工厂实例对象,经过实例对象建立对象。提供全部的方法都是“非静态”的。
工厂:
/**
* 实例工厂,全部方法非静态
*/
public class MyBeanFactory {
public UserService createService(){
return new UserServiceImpl();
}
}
spring 配置:
<!-- 建立工厂实例对象-->
<bean id="myBeanFactory" class="com.zhiyou100.MyBeanFactory"></bean>
<!-- 得到userservice
* factory-bean 肯定工厂实例
* factory-method 肯定普通方法
-->
<bean id="userService" factory-bean="myBeanFactory" factory-method="createService"></bean>