spring如何通过FactoryBean配置Bean

这篇文章主要介绍了spring如何通过FactoryBean配置Bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Car.java

package com.gong.spring.beans.factoryBean;

public class Car {
  private String name;
  private double price;
  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) {
    super();
    this.name = name;
    this.price = price;
  }
  @Override
  public String toString() {
    return "Car [name=" + name + ", price=" + price + "]";
  }
  
}

CarFactoryBean.java

package com.gong.spring.beans.factoryBean;

import org.springframework.beans.factory.FactoryBean;

public class CarFactoryBean implements FactoryBean {
  
  private String name;
  public void setName(String name) {
    this.name = name;
  }
  //返回Bean的对象
  @Override
  public Car getObject() throws Exception {
    // TODO Auto-generated method stub
    return new Car(name,200000);
  }
  //返回bean的类型
  @Override
  public Class getObjectType() {
    // TODO Auto-generated method stub
    return Car.class;
  }
  //是否是单例
  @Override
  public boolean isSingleton() {
    // TODO Auto-generated method stub
    return true;
  }

}

beans-factoryBean.xml




  
    
  

Main.java

package com.gong.spring.beans.factoryBean;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {
  public static void main(String[] args) {
    //1.创建spring的IOC容器对象
    ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans-factoryBean.xml");
    //2.从容器中获取Bean实例
    Car car = (Car) ctx.getBean("car");
    System.out.println(car.toString());
    ctx.close();
  }
}

输出:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(spring如何通过FactoryBean配置Bean)