加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

spring如何通过FactoryBean配置Bean

发布时间:2020-12-15 00:31:54 所属栏目:Java 来源:网络整理
导读:这篇文章主要介绍了spring如何通过FactoryBean配置Bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Car.java package com.gong.spring.beans.factoryBean;public class Car { private String name;

这篇文章主要介绍了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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读