• 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

  • 相关阅读:
    BZOJ-2743: [HEOI2012]采花(树状数组 or TLE莫队)
    BZOJ-1122: [POI2008]账本BBB (单调栈神题)
    2017年10月18日23:54:18
    [校内自测 NOIP模拟题] chenzeyu97要请客(单调栈)
    BZOJ-1057: [ZJOI2007]棋盘制作(单调栈)
    [校内自测] 奶牛编号 (递推+智商)
    [校内自测] Incr (LIS+智商)
    BZOJ1486 [HNOI2009]最小圈
    BZOJ2400 Spoj 839 Optimal Marks
    BZOJ2595 [Wc2008]游览计划
  • 原文地址:https://www.cnblogs.com/lh218/p/6550647.html
Copyright © 2020-2023  润新知