通过Bean工厂创建bean实例的几种方法
来源:互联网 发布:算法之美 pdf 编辑:程序博客网 时间:2024/05/16 18:05
使用bean工厂创建bean实例的几种方法。
一、/*实例工厂方法:实例工厂方法,即现需要创建工厂本身,在调用工厂的实例方法。
* 来返回bean实例。
* */
<!-- 通过实例工厂方法来配置beanfanctory-bean属性,指向实例工厂方法的类factory-mehtod:指向静态工厂方法的名字constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数。 --> <bean id="carsfactory" class="com.spring.test.beans.factory.InstanceCarFactroy"></bean> <bean id="car2" factory-bean="carsfactory" factory-method="getCar"> <constructor-arg value="ford"></constructor-arg> </bean>
建立配置文件如下:
<!-- 通过实例工厂方法来配置beanfanctory-bean属性,指向实例工厂方法的类factory-mehtod:指向静态工厂方法的名字constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数。 --> <bean id="carsfactory" class="com.spring.test.beans.factory.InstanceCarFactroy"></bean> <bean id="car2" factory-bean="carsfactory" factory-method="getCar"> <constructor-arg value="ford"></constructor-arg> </bean>
<!-- 通过实例工厂方法来配置bean -->
二、通过
* 静态工厂方法:直接调用某一个类的静态方法就可以返回Bean实例。
* */
public class StaticCarFactory { private static Map<String,Car> cars=new HashMap<String,Car>(); static { cars.put("audi", new Car("audi",300000)); cars.put("ford", new Car("ford",400000)); } //静态工厂:直接调用某一个类的静态方法就可以 返回Bean实例 public static Car getCar(String name){ return cars.get(name); }}
配置文件如下
<!-- 通过静态工厂方法来配置bean。注意不是配置静态工厂方法实例。而是配置bean实例 --><!-- class属性,指向静态工厂方法的名字Factory-method:指向静态工厂方法的名字constructor-arg:如果工厂方法需要传入参数,则使用constructor-arg来配置参数说明:通过调用实例工厂方法创建Bean实例工厂方法:将对象的创建过程封装到另外一个对象实例方法里,当客户需要请求对象时,只需要简单的调用该实例方法而不需要关心对象的创建细节,要声明通过实例工厂方法创建的Bean.在bean的factory-method属性里指定拥有该工厂方法的Bean。在factory-method属性里指定该工厂方法的名称。使用construtor-arg元素为工厂方法传递方法参数。 --><bean id="car1" class="com.spring.test.beans.factory.StaticCarFactory" factory-method="getCar"><constructor-arg value="audi"></constructor-arg></bean>三、通过BeanFactory类来配置bean实例,注意一定要实现
FactoryBean<T>接口
import org.springframework.beans.factory.FactoryBean;import com.spring.test.beans.factory.Car;/* * * * */public class CarFactoryBean implements FactoryBean<Car>{private String brand;//返回bean對象@Overridepublic Car getObject() throws Exception {// TODO Auto-generated method stubreturn new Car(brand,5000);//在该方法中可以返回一个新的Car具体对象 }//返回bean類型类型@Overridepublic Class<?> getObjectType() {// TODO Auto-generated method stubreturn null;}//返回是否是单实例@Overridepublic boolean isSingleton() {// TODO Auto-generated method stubreturn false;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}}
0 0
- 通过Bean工厂创建bean实例的几种方法
- spring创建bean的三种方式-通过构造器,通过静态工厂方法,通过实例工厂方法
- Spring的几种工厂方法创建bean的总结
- 通过调用静态工厂方法创建 Bean
- Spring_通过工厂方法创建bean
- Spring Bean工厂创建Bean实例的方法之使用静态工厂类
- Spring Bean工厂创建Bean实例的方法之使用工厂类
- 创建bean的几种常见方法
- Spring Bean工厂创建Bean实例的方法之使用构造器
- Bean工厂实例的创建方式
- 通过工厂创建bean<04>
- Spring通过FactoryBean创建bean的实例
- 创建Bean的三种方式 在大多数情况下,Spring容器直接通过new关键字调用构造器来创建Bean实例,而class属性指定Bean实例的实现类,但这不是实例化Bean的唯一方法。实际上,Sprin
- Spring中通过工厂方法获取bean实例
- spring学习笔记(17)--通过工厂方法创建Bean
- Spring中bean工厂创建bean的三种方式
- 【spring NOTE】调用实例工厂方法创建Bean
- 7.7.3:调用实例工厂方法创建Bean
- IP地址的详细解答
- SpringIOC
- 智能指针——AutoPtr & ScopedPer & SharedPtr & WeakPtr
- java 公用的增删改查
- 自定义时间dialog可选择展示年,月,日选择栏
- 通过Bean工厂创建bean实例的几种方法
- 第六届蓝桥杯-三羊生瑞
- 极客学院----H5的相关笔记----css基础(三)
- todolist
- 动态规划--PAT.A1068.Find More Coins【输出DP序列】
- NSString的几种常用方法
- 笔记 基于OpenCV的目标跟踪软件与系统实现
- 搭建spring4+hibernate4+struts2时用spring管理hibernate事务时发生的问题
- awt--事件适配器--比如WindowAdapter