Spring-11:通过FactoryBean配置Bean
来源:互联网 发布:国税局在线发票软件 编辑:程序博客网 时间:2024/05/16 02:03
Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean.。
在main方法中获取car bean,打印输出如下:
工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法所返回的对象
使用FactoryBean需要实现FactoryBean接口,并重写其中的三个方法:
示例:
先创建一个Car类:
package com.atguigu.spring.beans.factorybean;public class Car {private String brand;private double price;Car(String brand, double price) {this.brand = brand;this.price = price;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}@Overridepublic String toString() {return "Car [brand=" + brand + ", price=" + price + "]";}}然后创建用于产生Car实例的工厂Bean,并实现 org.springframework.beans.factory.FactoryBean 接口:
package com.atguigu.spring.beans.factorybean;import org.springframework.beans.factory.FactoryBean;public class CarFactoryBean implements FactoryBean<Car> {private String brand;public void setBrand(String brand) {this.brand = brand;}//返回bean的实例@Overridepublic Car getObject() throws Exception {Car car = new Car(brand, 500000);return car;}//返回bean的类型@Overridepublic Class<?> getObjectType() {// TODO Auto-generated method stubreturn Car.class;}//实例是否为单列,是,则返回true,否则返回false@Overridepublic boolean isSingleton() {// TODO Auto-generated method stubreturn true;}}在xml文件中配置:
<!-- 通过 FactoryBean 来配置Bean的实例class:指向FactoryBean的全类名property:配置FactoryBean的属性但是实际返回的实例是由 FactoryBean的getObject方法返回 --><bean id="car" class="com.atguigu.spring.beans.factorybean.CarFactoryBean"><property name="brand" value="BMW"></property></bean>
在main方法中获取car bean,打印输出如下:
0 0
- Spring-11:通过FactoryBean配置Bean
- Spring中通过FactoryBean来配置bean
- Spring 通过FactoryBean来配置bean
- spring 10 bean配置-通过FactoryBean配置bean
- spring FactoryBean配置Bean
- Spring - bean配置-FactoryBean
- Spring_12_通过 FactoryBean 配置 Bean
- 4.3通过FactoryBean配置bean
- spring通过工厂方法和FactoryBean来配置Bean
- Spring-12,通过工厂方法和FactoryBean配置bean
- spring学习笔记十 通过factoryBean配置bean
- Spring学习笔记之通过FactoryBean配置Bean
- 【Spring】使用FactoryBean配置Bean
- Spring通过FactoryBean创建bean的实例
- 三、通过 FactoryBean 来配置bean
- 十通过FactoryBean对Bean进行配置
- Spring学习(7)--Spring中通过工厂方法和FactoryBean配置bean
- Spring 利用FactoryBean来配置Bean
- c++ primer学习(二)string, vector, array
- [汇编]伪指令(一)
- nbtstat及netstat命令---查对方IP mac地址 根据IP查对方计算机名
- 【项目中】关于android:windowNoTitle不起作用的解决办法
- hdu 5183 Negative and Positive (NP)(hash,思路)
- Spring-11:通过FactoryBean配置Bean
- LifeRay 6.2 视频教程内容记录
- HDU5723 2016 Multi-University Training Contest 1 (最小生成树+dfs)
- [汇编]伪指令(二)
- uc/os-iii学习笔记---存储管理(内存管理)
- Socket的Send,Recv的长度问题
- 面试知识
- .NET 配置文件自定义
- codeforces#363 C. Vacations dp做法