spring详解:通过FactoryBean自定义工厂初始化Bean
来源:互联网 发布:python ggplot2 编辑:程序博客网 时间:2024/06/05 09:04
FactoryBean的作用:
FactoryBean是一个接口,扩展功能提供给用户自定义工厂方法和工厂对象用于实例化对象。
FactoryBean定义了3个方法接口:
T getObject():自定义的工厂方法;
booleanisSingleton():定义Bean是不是单例的,如果true则是singleton,false的话就是prototype;
Class<T>getObjectType():一般返回实例化对象的类对象。
实例如下:
自定义工厂:
package com.baobaotao.fb;import org.springframework.beans.factory.FactoryBean;public class CarFactoryBean implements FactoryBean<Car>{ //用作初始化参数的字符串private String carInfo;public String getCarInfo() {return carInfo;}public void setCarInfo(String carInfo) {this.carInfo = carInfo;}//1 实现getObject方法 这里的类似一个工厂方法 //使用carInfo字符串实例化并返回对象public Car getObject() throws Exception {Car car = new Car();String[] infos = carInfo.split(",");car.setBrand(infos[0]);car.setMaxSpeed(Integer.parseInt(infos[1]));car.setPrice(Double.parseDouble(infos[2]));return car;}//2 getObjectType方法 返回对象的class对象public Class<Car> getObjectType() {return Car.class;}//3 定义Bean是否是单例的public boolean isSingleton() {return false;}}
使用自定义工厂初始化Bean的配置文件:
<!-- 这里的car1实际上就是用CarFactoryBean工厂创建的, p:carInfo为工厂的字符串参数--> <bean id="car1" class="com.baobaotao.fb.CarFactoryBean" p:carInfo="红旗CA72,200,20000.00"/>
参考
Spring3.x企业应用开发实战
BeanFactory和FactoryBean
0 0
- spring详解:通过FactoryBean自定义工厂初始化Bean
- spring通过工厂方法和FactoryBean来配置Bean
- Spring-12,通过工厂方法和FactoryBean配置bean
- 使用FactoryBean接口实现自定义bean初始化
- 使用FactoryBean接口实现自定义bean初始化
- Spring学习(7)--Spring中通过工厂方法和FactoryBean配置bean
- Spring-11:通过FactoryBean配置Bean
- Spring中通过FactoryBean来配置bean
- Spring 通过FactoryBean来配置bean
- Spring通过FactoryBean创建bean的实例
- FactoryBean工厂Bean
- spring 10 bean配置-通过FactoryBean配置bean
- Spring配置bean的方法(工厂方法和Factorybean)
- Spring配置bean的方法(工厂方法和Factorybean)
- 【Spring:FactoryBean接口】实现FactoryBean接口,Spring在初始化bean时有何不同
- spring FactoryBean配置Bean
- Spring bean 之 FactoryBean
- Spring - bean配置-FactoryBean
- 设计模式23种通熟解释和简明教程
- C++ 强制类型转换 static_cast<new_type>(expression)
- Cg shader with refraction mapping
- 图像滤镜艺术---ZPhotoEngine超级算法库
- Listview的OnItemClick无反应
- spring详解:通过FactoryBean自定义工厂初始化Bean
- Android中handler的工作原理
- android一些方法
- HttpClient PostMethod提交自定义参数
- C#中System.Drawing来画立体饼状图
- 维度模型数据仓库(五) —— 定期装载
- Android 应用中设置图片高斯模糊
- KeyDown事件后
- maven resources plugin 2.5插件找不到