1. 程式人生 > >Spring中bean初始化的三種方式

Spring中bean初始化的三種方式

 (1)配置檔案

   <!-- 1.構造方法例項化bean -->
    <bean id="book" class="service."/>

    <!-- 2.使用靜態工廠方法例項化bean ,由於方法是static,可以通過類名呼叫方法,所以例項化抽象工廠-->
    <bean id="person" class="service.ServiceFactory" factory-method="getPersonInstance" ></bean>

    <!-- 3.使用例項化工廠方法(非靜態工廠方法)例項化bean:例項化bean之前先要例項化工廠需要配置兩個bean -->


     <bean id="serviceFactory_notstatic" class="service.ServiceFactory_notstatic"/>
     <bean id="userService" factory-bean="serviceFactory_notstatic" factory-method="getUserServiceInstance"/>
     

1、構造方法例項化bean

public class Book{
    
    public Book()
    {
        System.out.println("------Book--------");
    }

}

2.使用靜態工廠方法例項化bean

public class Person {

  //系統預設新增無引數構造方法、自己加也行

}

/**
 * 工廠方法,專門例項化bean
 * @author lion
 *
 */

public class ServiceFactory {
    
    /**
     * 以後該類中會定義很多這些建立bean的例項的方法
     * @return
     */

    public static PersongetPersonServiceInstance()
    {
        System.out.println("----------getPersonServiceInstance-------------");
        return new Person();
    }

}
 

3.使用例項化工廠方法例項化bean

/**
 * 非靜態工廠方法,專門例項化bean
 * @author lion
 *
 */

public class ServiceFactory_notstatic {
    
    public UserService getUserInstance()
    {
        System.out.println("-------getUserInstance-------");
        return new User();
    }

}

/**
 * 建立User類
 * @author lion
 *
 */

public class User{

}