Spring 框架 ---->> bean實例化方式

<!--默認構造
<bean id="userServiceId" class="com.zhiyou100.service.impl.UserServiceImpl"/>-->
<!--靜態工廠     factory-method 肯定靜態方法名
<bean id="userServiceId" class="com.zhiyou100.service.impl.UserServiceImpl" factory-method="createUserService"/>-->

<!--建立工廠實例對象   全部方法非靜態
<bean id="userServiceFactoryId" class="com.zhiyou100.service.impl.UserServiceFactory"/>
 factory-bean 肯定工廠實例   factory-method 肯定普通方法
<bean id="userServiceId" factory-bean="userServiceFactoryId" factory-method="createUserService" scope="prototype"/>-->

一、默認構造spring

<bean id="" class="">  必須提供默認構造框架

二、靜態工廠工具

經常使用與spring整合其餘框架(工具)spa

靜態工廠:用於生成實例對象,全部的方法必須是staticprototype

<bean id=""  class="工廠全限定類名"  factory-method="靜態方法">對象

工廠:class

public class MyBeanFactory {配置

public static UserService createService(){service

return new UserServiceImpl();方法

}

}

spring配置:

<!-- 將靜態工廠建立的實例交予spring

class 肯定靜態工廠全限定類名

factory-method 肯定靜態方法名

-->

<bean id="userService" class="com.zhiyou100.MyBeanFactory"  factory-method="createService"></bean>

三、實例工廠

實例工廠:必須先有工廠實例對象,經過實例對象建立對象。提供全部的方法都是「非靜態」的。

工廠:

/**

 * 實例工廠,全部方法非靜態

 */

public class MyBeanFactory {

public UserService createService(){

return new UserServiceImpl();

}

}

spring 配置:

<!-- 建立工廠實例對象-->

<bean id="myBeanFactory" class="com.zhiyou100.MyBeanFactory"></bean>

<!-- 得到userservice 

* factory-bean 肯定工廠實例

* factory-method 肯定普通方法

-->

<bean id="userService"  factory-bean="myBeanFactory"  factory-method="createService"></bean>

相關文章
相關標籤/搜索