spring如何通过FactoryBean配置Bean

前端之家收集整理的这篇文章主要介绍了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<Car> {

  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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="car" class="com.gong.spring.beans.factorybean.Carfactorybean">
    <property name="name" value="baoma"></property>
  </bean>
</beans>

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

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

猜你在找的Java相关文章