zoukankan      html  css  js  c++  java
  • Spring静态工厂和实例工厂创建bean

    1.静态工厂创建bean。 工厂类有一个公共的静态方法用于创建bean,隐藏了创建bean的细节,以及将创建的bean托管给容器。

    配置:

     <!-- 静态工厂 -->
     <bean id="aProduct" class="com.StaticFactory"  factory-method="createProduct"> 
         <constructor-arg value="bccbb"></constructor-arg>
     </bean>

    id: 工厂创建的bean的id

    class:静态工厂的类

    factory-method:静态工厂的静态创建bean方法

    constructor-arg:用于给工厂方法传递参数。有时创建bean需要某些参数,可通过该属性传入工厂方法。

    如:

    public class StaticFactory{
    
    public static Product createProduct(String id){//静态工厂方法。 它的参数由constructor-arg传入
    
    return product;
    
    }
    
    ..
    
    }

    2.实例工厂创建Bean。即容器中有一个工厂Bean,然后通过工厂bean和工厂方法(非静态)创建bean。

     <!-- 工厂bean -->
     <bean id="productFactory" class="com.Factory">
     </bean>

    <bean id="productA" factory-bean="productFactory" factory-method="createProduct">
      <constructor-arg value="456"/><!--给工厂方法传递参数-->
    </bean>

    即:先创建工厂bean。
    然后通过factory-bean factory-method指定工厂bean和工厂方法,来创建bean。
    public class Factory{
    
    //不是静态方法
    public Product createProduct(String id){//工厂方法。 它的参数由constructor-arg传入 return product; } .. }
  • 相关阅读:
    matlab中的匹配函数
    查看matlab中的小波基
    图像处理中的彩色图像处理
    OSEK Event mechanism
    OSEK OS Resource management
    ISO17356标准简介[转]
    OSEK OS标准简介(转)
    IQmath的使用方法
    HIVERT高压变频主电路构造原理
    MPPT算法
  • 原文地址:https://www.cnblogs.com/beenupper/p/2984008.html
Copyright © 2011-2022 走看看