FactoryBean如何在春天中使用

  介绍

FactoryBean如何在春天中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

spring FactoryBean是创建复杂的豆,一般的bean直接用xml配置即可,如果一个bean的创建过程中涉及到很多其他的bean和复杂的逻辑,用xml配置比较困难,这时可以考虑用FactoryBean

例子如下:

1:创建一个汽车类(是为了简便)一般不能直接给出汽车类,如果是这样直接注入就可以或者汽车对象了,这里只是为了简便。

包com.myapp.core.factorybean;
  
  公共类车{
  私人的字符串;
  私人int;
  公共字符串getMake () {
  返回;
  }
  公共空间setMake(字符串){
  这一点。让=让;
  }
  公共int getYear () {
  返回;
  }
  公共空间setYear (int) {
  这一点。年=一年;
  }
  
  }

2:一个FactoryBean的实现拥有创建汽车

包com.myapp.core.factorybean;
  
  进口org.springframework.beans.factory.FactoryBean;
  
  公共类MyCarFactoryBean实现FactoryBean 

以上中创建汽车太简单了,如果太简单就没有必要用FactoryBean创建了,可以写的复杂些。

3:人引用一个汽车

包com.myapp.core.factorybean;
  
  公共类人{
  
  私人汽车的车;
  
  公共汽车getCar () {
  返回的车;
  }
  
  公共空间setCar(汽车车){
  这一点。车=车;
  }
  
  公共字符串toString () {
  
  返回car.getMake () +“::::“+ car.getYear ();
  }
  }
  
  

4:配置引用xml格式:

& lt; bean id=癱ar"类=癱om.myapp.core.factorybean.MyCarFactoryBean"比;   & lt;属性名=袄弦?值=https://www.yisu.com/zixun/"添麻烦汽车"/>   <属性名="年" value=" 123 "/>               <属性名="车" ref="车"/>      

5:编写测试类测试:

包com.myapp.core.factorybean;
  
  进口org.springframework.context.ApplicationContext;
  进口org.springframework.context.support.ClassPathXmlApplicationContext;
  
  公开课maint {
  公共静态void main (String [] args) {
  
  ApplicationContext上下文=new ClassPathXmlApplicationContext(“资源/others.xml");
  
  人的人=(人)context.getBean (“person");//车车=(汽车)context.getBean (“car");//System.out.println(车);
  System.out.println(人);
  }
  }

测试结果添麻烦汽车::::123

利用FactoryBean创建汽车成功

只是为了说明思想。因为这个接口太重要了。在春天中有很多类实现了该接口。

看完上述内容,你们掌握FactoryBean如何在春天中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

FactoryBean如何在春天中使用