【静态工厂】
工厂类
public class FixedDepositDaoFactory {
public FixedDepositDaoFactory() {
}
public static FixedDepositDao getFixedDepositDao(String daoType) {
FixedDepositDao fixedDepositDao = null;
if("jdbc".equalsIgnoreCase(daoType)) {
if(fixedDepositDao == null) {
fixedDepositDao = new FixedDepositDao();
}
}
return fixedDepositDao;
}
}
<bean id="dao"
<!--第一步 class指向工厂类-->
class="sample.spring.chapter01.bankapp.FixedDepositDaoFactory"
<!--第二步 factory-method指向静态工厂方法-->
factory-method="getFixedDepositDao">
<!--第三步 添加参数-->
<constructor-arg index="0" value="jdbc"/>
</bean>>
【实例工厂】
实例工厂类
public class FixedDepositDaoFactory {
public FixedDepositDaoFactory(){
}
public FixedDepositDao getFixedDepositDao(String daoType){
FixedDepositDao fixedDepositDao = null;
if ("jdbc".equalsIgnoreCase(daoType)){
if (fixedDepositDao == null){
fixedDepositDao = new FixedDepositDao();
}
}
return fixedDepositDao;
}
}
XML配置
<!--第一步 定义工厂类-->
<bean id="daoFactory" class="sample.spring.chapter01.bankapp.FixedDepositDaoFactory"/>
<bean id="dao"
<!--第二步 factory-bean属性指向工厂类-->
factory-bean="daoFactory"
<!--第三步 factory-method属性指向工厂类方法-->
factory-method="getFixedDepositDao">
<!--第四步 添加参数-->
<constructor-arg index="0" value="jdbc"/>
</bean>