spring学习小结8-使用factoryBean来配置bean

来源:互联网 发布:火眼金睛答题软件使用 编辑:程序博客网 时间:2024/05/16 07:57
通过FactoryBean来配置bean
有时候在配置bean的时候需要用到IOC容器中的其他bean,此时用factoryBean来配置最合适。


java 文件:

import org.springframework.beans.factory.FactoryBean;//自定义的FactoryBean 需要实现Spring 提供的FactoryBean接口public class CarFactoryBean implements FactoryBean<Car> {private String brand;private double price;//要有get和set方法,否则会出错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;}//返回bean 的对象@Overridepublic Car getObject() throws Exception {// TODO Auto-generated method stub//return new Car("BMw",3000.1);  //这种无需配置属性,可以直接返回一个Car对象return new Car(brand,price);}//返回bean的类型@Overridepublic Class<?> getObjectType() {// TODO Auto-generated method stubreturn Car.class;}   //是不是单实例@Overridepublic boolean isSingleton() {// TODO Auto-generated method stubreturn true;}}


xml文件:

<!-- 通过FactoryBean来配置bean的实例class:指向FactoryBean的全类名property:配置FactoryBean 的属性但实际上返回的却是FactoryBean的getObject()方法返回的实例 --><bean id = "car" class = "com.hl.spring.factorybean.CarFactoryBean"> <property name="brand" value = "BMWQ"></property> <property name="price" value = "30.2"></property></bean>



0 0
原创粉丝点击