Spring学习之使用静态工厂方法以及实例工厂方法配置bean
2017-06-10 02:18
861 查看
首先创建一个Car类作为bean方便工厂方法的使用
public class Car {
public String toString() {
return "Car [name=" + name + ", price=" + price + "]";
}
private String name;
private double price;
public Car()
{
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Car(String name,double price)
{
this.name=name;
this.price=price;
}
}
接下来,首先是如何使用静态工厂方法来返回bean实例
1.写一个静态工厂并在静态代码块中添加bean
public class StaticFactory {
private static Map<String, Car> cars=new HashMap<String, Car>();
static{
cars.put("奥迪", new Car("奥迪", 300000.0));
cars.put("福特",new Car("福特", 250000.0));
}
public static Car getCar(String name)
{
return cars.get(name);
}
}
2.在xml文件中进行配置
<!--
通过静态工厂方法来配置bean,不是配置静态工厂方法实例,而是配置bean实例
class属性:指向静态工厂的全类名
factory-method:指向静态工厂方法的方法名
constructor-arg如果工厂方法需要传入参数,则使用constructor-arg来配置参数
-->
<bean id="car1"
class="factory.StaticFactory"
factory-method="getCar">
<constructor-arg value="奥迪"></constructor-arg>
</bean>
使用实例工厂方法来返回bean实例
1.编写一个实例工厂
public class InstanceFactory {
private Map<String, Car> cars=new HashMap<String, Car>();
public InstanceFactory()
{
cars.put("奥迪", new Car("奥迪", 300000.0));
cars.put("福特", new Car("福特", 250000.0));
}
public Car getCar(String name)
{
return cars.get(name);
}
}
2.在xml文件中进行配置
<!-- 通过实例工厂方法来配置bean
factory-bean:实例工厂的全类名
factory-method:指向静态工厂方法的方法名
constructor-arg如果工厂方法需要传入参数,则使用constructor-arg来配置参数
-->
<!-- 配置工厂的实例 -->
<bean id="factory" class="factory.InstanceFactory"></bean>
<!-- 通过实例工厂来配置bean -->
<bean id="car2" factory-bean="factory" factory-method="getCar">
<constructor-arg value="奥迪"></constructor-arg>
</bean>
public class Car {
public String toString() {
return "Car [name=" + name + ", price=" + price + "]";
}
private String name;
private double price;
public Car()
{
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Car(String name,double price)
{
this.name=name;
this.price=price;
}
}
接下来,首先是如何使用静态工厂方法来返回bean实例
1.写一个静态工厂并在静态代码块中添加bean
public class StaticFactory {
private static Map<String, Car> cars=new HashMap<String, Car>();
static{
cars.put("奥迪", new Car("奥迪", 300000.0));
cars.put("福特",new Car("福特", 250000.0));
}
public static Car getCar(String name)
{
return cars.get(name);
}
}
2.在xml文件中进行配置
<!--
通过静态工厂方法来配置bean,不是配置静态工厂方法实例,而是配置bean实例
class属性:指向静态工厂的全类名
factory-method:指向静态工厂方法的方法名
constructor-arg如果工厂方法需要传入参数,则使用constructor-arg来配置参数
-->
<bean id="car1"
class="factory.StaticFactory"
factory-method="getCar">
<constructor-arg value="奥迪"></constructor-arg>
</bean>
使用实例工厂方法来返回bean实例
1.编写一个实例工厂
public class InstanceFactory {
private Map<String, Car> cars=new HashMap<String, Car>();
public InstanceFactory()
{
cars.put("奥迪", new Car("奥迪", 300000.0));
cars.put("福特", new Car("福特", 250000.0));
}
public Car getCar(String name)
{
return cars.get(name);
}
}
2.在xml文件中进行配置
<!-- 通过实例工厂方法来配置bean
factory-bean:实例工厂的全类名
factory-method:指向静态工厂方法的方法名
constructor-arg如果工厂方法需要传入参数,则使用constructor-arg来配置参数
-->
<!-- 配置工厂的实例 -->
<bean id="factory" class="factory.InstanceFactory"></bean>
<!-- 通过实例工厂来配置bean -->
<bean id="car2" factory-bean="factory" factory-method="getCar">
<constructor-arg value="奥迪"></constructor-arg>
</bean>
相关文章推荐
- spring学习小结7_使用工厂方法来配置bean:静态工厂方法和实例工厂方法
- [原创]java WEB学习笔记102:Spring学习---Spring Bean配置:bean配置方式(工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean) 全类名
- Spring使用教程(二)配置bean:静态工厂方法和实例工厂方法
- spring 9 bean配置--通过工厂方法(静态工厂方法&实例工厂方法
- Spring学习--静态工厂方法、实例工厂方法创建 Bean
- 从spring容器中得到bean_使用类构造器实例化_使用静态工厂方法实例化_使用实例工厂方法实例化_例子
- 7.7.2: Bean实例的创建方式及依赖配置---使用静态工厂方法创建Bean
- Spring4 学习系列之——bean的静态工厂方法 和 实例方法
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- spring ioc容器注入的集中方式,以及属性注入的集中依赖,继承,使用SPEL表达式,ioc容器的生命周期,bean的几种工厂方法配置方式,bean的自动装配
- spring实例化bean之简单工厂静态方法实例化
- Spring入门学习——调用一个实例工厂方法创建Bean
- Spring入门学习——调用静态工厂方法创建Bean
- Spring学习记录(九)---通过工厂方法配置bean
- Spring使用静态工厂方法创建Bean(一)
- 【Spring】使用工厂方法配置Bean
- spring实例工厂,静态工厂以及写有工厂方法的程序
- Spring 使用实例工厂方法实例化Bean
- 转:Spring使用静态工厂方法创建Bean
- Spring-装配Bean的3种方式-工厂静态方法方式配置Bean