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; } .. }
  • 相关阅读:
    spoj LCS2
    spoj SUBLEX
    spoj NSUBSTR
    bzoj 2882: 工艺【SAM】
    poj 3294 Life Forms【SA+二分】
    poj 3415 Common Substrings【SA+单调栈】
    poj 2774 Long Long Message【SA】
    poj 2406 Power Strings【kmp】
    poj 1743 Musical Theme【二分+SA】
    hdu 3622 Bomb Game【二分+2-SAT+tarjan】
  • 原文地址:https://www.cnblogs.com/beenupper/p/2984008.html
Copyright © 2011-2022 走看看