Three ways when Spring generates beans

Three ways when Spring generates beans

How to use a parameterless constructor

<!-- 
    方式一:无参数的构造方法的实例化
    调用构造方法初始化,默认是调用无参数的构造方法
--> 
<bean id="bean1" class="cn.itcast.spring.demo3.Bean1"></bean> 

How to instantiate a static factory

  • Provide a factory class:
public class Bean2Factory { 

 /**
 * 静态方法
 */
  public static Bean2 getBean2(){ 
    return new Bean2(); 
  } 

} 
  • configuration file
<!-- 
    方式二:静态工厂实例化 Bean
    factory-method属性:指定静态工厂初始化对象调用的方法    
--> 
<bean  id="bean2"  class="cn.itcast.spring.demo3.Bean2Factory" 
factory-method="getBean2"/> 

The way the instance factory is instantiated

  • Provide an instance factory for Bean3:
public class Bean3Factory { 

 /**
 * 实例
 */
  public Bean3 getBean3(){ 
    return new Bean3(); 
  } 
} 
  • configuration file
<!-- 
    方式三:实例工厂实例化 Bean
    步骤:
        第一步:定义实例工厂对象
        第二步:通过实例工厂对象,调用方法创建目标对象

    属性:
        factory-bean:指定实例工厂对象
        factory-method:指定实例工厂创建对象,调用的方法
-->
<bean id="bean3Factory" class="cn.itcast.spring.demo3.Bean3Factory"></bean> 
<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean> 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325623812&siteId=291194637