您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
10-Spring配置文件-详解4(factory,bean,method)
发布时间:2024-12-18 18:19:53编辑:雪饮阅读()
-
bean除了能通过无参构造进行构建,还可以通过静态工厂来构建dao实例。
Spring Config配置文件
<bean id="userDao" class="com.factory.StaticFactory" factory-method="getUserDao"></bean>
静态工厂
package com.factory;
import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;
public class StaticFactory {
public static UserDao getUserDao(){
return new UserDaoImpl();
}
}
单元测试
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test1 {
@Test
public void test1(){
ClassPathXmlApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
app.getBean("userDao");
app.close();
}
}
当然也支持动态工厂来构建。则Spring Config配置如
<?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="userDaoFactory" class="com.factory.DynamicFactory"></bean>
<bean id="userDao" factory-bean="userDaoFactory" factory-method="getUserDao"></bean>
</beans>
动态工厂如:
package com.factory;
import com.dao.UserDao;
import com.dao.impl.UserDaoImpl;
public class DynamicFactory {
public UserDao getUserDao(){
return new UserDaoImpl();
}
}
单元测试不用变。
关键字词:factory,bean,method