spring如何通过FactoryBean配置Bean

网友投稿 542 2023-07-01

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 {

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

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="FRvrOlLohttp://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd">

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();

}

}

输出:

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="FRvrOlLohttp://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd">

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();

}

}

输出:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring AOP定义AfterThrowing增加处理实例分析
下一篇:Spring @Valid @Validated实现验证
相关文章

 发表评论

暂时没有评论,来抢沙发吧~