您的位置:首页 > 编程语言 > Java开发

Spring使用教程(二)配置bean:静态工厂方法和实例工厂方法

2015-05-29 22:03 645 查看
/**
*
* 实例工厂方法:实例工厂的方法,先创建工厂本身,在调用工厂本身的实例方法返回bean实例
*
* */

public class InstanceFactory {

private Map<String,Car> cars=null;

public InstanceFactory(){
cars=new HashMap<String, Car>();
cars.put("BMW",new Car("BMW",300000));
cars.put("benchi",new Car("benchi",333300000));
}

public Car getCar(String brand){
return cars.get(brand);
}
}


View Code

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> <!-- 通过静态工厂方法配置Bean,注意不是配置静态工厂方法实例,而是bean实例 -->

<!--
calss:指向静态工厂方法的全类名
factory-method:指向静态工厂方法的名字
constructor-arg:如果工厂静态方法需要参数,则使用constructor-arg来配置
-->

<bean id="carfactory" class="com.test.spring.factorybean.StaticCarFactory" factory-method="getCar">
<constructor-arg value="BMW"></constructor-arg>        <!-- 构造器注入 -->
</bean>

<!-- 配置工厂的实例 -->
<bean id="instanceFactory" class="com.test.spring.factorybean.InstanceFactory"></bean>
<!-- 通过实例工厂方法类配置bean -->
<bean id="car" factory-bean="instanceFactory" factory-method="getCar">
<constructor-arg value="benchi"></constructor-arg>
</bean>
</beans>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: