zoukankan      html  css  js  c++  java
  • Spring基础(3) : 静态工厂和实例工厂创建bean

    public class Factory {
        public static Person staticCreate(){
            Person p = new Person();
            p.name="staticCreate";
            return p;
        }
    
        public Person instanceCreate(){
            Person p = new Person();
            p.name="instanceCreate";
            return p;
        }
    }
    
      public static void main(String[] args){
            ApplicationContext context = new ClassPathXmlApplicationContext("a.xml");
            Person p1 = context.getBean("p1",Person.class);
            Person p2 =context.getBean("p2",Person.class);
            System.out.println(p1.getName()+" "+p2.getName());
        }
    
    配置:
    <bean id="p1" class="com.Factory" factory-method="staticCreate"/> <bean id="fac" class="com.Factory"/> <bean id="p2" factory-bean="fac" factory-method="instanceCreate"/>

    通过工厂创建bean。

    运行打印:

    staticCreate instanceCreate

    =========================================================================================================================================

    注解方式:

    @Configuration
    public class Factory {
        @Bean("p1")
        public static Person staticCreate(){
            Person p = new Person();
            p.name="staticCreate";
            return p;
        }
        @Bean("p2")
        public Person instanceCreate(){
            Person p = new Person();
            p.name="instanceCreate";
            return p;
        }
    }
     public static void main(String[] args){
            ApplicationContext context = new AnnotationConfigApplicationContext(Factory.class);
            Person p1 = context.getBean("p1",Person.class);
            Person p2 = context.getBean("p2",Person.class);
            System.out.println(p1.getName());
            System.out.println(p2.getName());
        }

    输出:

    staticCreate
    instanceCreate

  • 相关阅读:
    右建删除.svn
    Oracle 初始化 SEQUENCE附代码
    IE8支付宝密码控件
    JavaScript怎样读取Gridview控件的单元格的值
    IIS7 发布WCF
    C#创建后台服务注意事项
    Sqlserver中传递列参数需要注意的一个小细节
    JavaScript中针对中文参数的转编码
    VS2010里面调试后台服务
    href=#与href=javascriptvoid(0)的区别
  • 原文地址:https://www.cnblogs.com/lh218/p/6550647.html
Copyright © 2011-2022 走看看