Spring学习之使用静态工厂方法以及实例工厂方法配置bean

原创 2017年06月10日 02:18:22

首先创建一个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>

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

转:Spring使用静态工厂方法创建Bean

如何在Spring中不再使用Spring创建Bean实例,而是把Bean创建过程转移到开发者手中。 1. 使用静态工厂方法创建Bean     使用静态工厂方法创建Bean实例时,class属...

Spring入门学习——调用一个实例工厂方法创建Bean

使用实例工厂方法在Spring IoC容器中创建一个Bean,目的是在另一个对象实例的一个方法中封装对象创建过程。Spring支持调用实例工厂方法创建Bean。Bean实例在factory-bean属...

Spring框架学习(8):通过工厂方法配置bean

通过工厂方法配置bean有两种方式:一是通过静态工厂方法来配置,二是通过工厂实例方法来配置 一、静态工厂方法配置bean 写一个静态工厂方法的类: package factory; impor...

spring学习笔记(10)——工厂方法配置bean

静态工厂方法配置bean写一个静态工厂方法package com.zj.beanFactory;import java.util.HashMap; import java.util.Map;publi...

spring ioc容器注入的集中方式,以及属性注入的集中依赖,继承,使用SPEL表达式,ioc容器的生命周期,bean的几种工厂方法配置方式,bean的自动装配

注入方式: 1.属性注入方式 2.构造方法注入 自动装配: SpringIOC容器可以自动装配Bean,选哟做的是仅仅是在的autowire水下那个里指定自动装配的模式 byTy...

spring中通过工厂方法配置Bean

一、静态工厂方式   二、 实例工厂方式   spring IOC中 的bean配置:   测试类:...

Spring通过工厂方法配置Bean

通过静态工厂方法配置Bean1、调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单地调用静态方法,而不用关心创建对象的细节 2、要声明通过静态方法创建的B...
  • jyxmust
  • jyxmust
  • 2017年02月01日 23:56
  • 2711

Spring-10:通过工厂方法配置Bean

本文介绍在Spring框架中通过工厂方法配置bean的两种方式:通过调用静态工厂方法创建Bean以及通过调用实例的工厂方法创建Bean。 首先准备一个Car类,该类有String brand 和 do...

Spring_11_通过工厂方法配置 Bean

spring 工厂方法配置bean

1.car类 package com.hxzy.factory; public class Car { private String brand; private String...
  • aigo6
  • aigo6
  • 2015年10月08日 20:23
  • 134
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring学习之使用静态工厂方法以及实例工厂方法配置bean
举报原因:
原因补充:

(最多只允许输入30个字)