zoukankan      html  css  js  c++  java
  • spring注解第05课 FactoryBean

    1.工厂bean调用

    @Configuration
    public class MainConfig2 {/**
         * 使用Spring提供的 FactoryBean(工厂Bean);
         *         1)、默认获取到的是工厂bean调用getObject创建的对象
         *         2)、要获取工厂Bean本身,我们需要给id前面加一个&
         *             &colorFactoryBean
       *  与其他框架整合的时候用的多
    */ @Bean public ColorFactoryBean colorFactoryBean(){ return new ColorFactoryBean(); } }

    2.工厂bean

    package com.atguigu.bean;
    
    import org.springframework.beans.factory.FactoryBean;
    
    //创建一个Spring定义的FactoryBean
    public class ColorFactoryBean implements FactoryBean<Color> {
    
        //返回一个Color对象,这个对象会添加到容器中
        @Override
        public Color getObject() throws Exception {
            System.out.println("ColorFactoryBean...getObject...");
            return new Color();
        }
    
        @Override
        public Class<?> getObjectType() {
            return Color.class;
        }
    
        //是单例?
        //true:这个bean是单实例,在容器中保存一份
        //false:多实例,每次获取都会创建一个新的bean;
        @Override
        public boolean isSingleton() {
            return false;
        }
    
    }

    3.调用测试

        @Test
        public void testImport(){
            //工厂Bean获取的是调用getObject创建的对象
            Object bean2 = applicationContext.getBean("colorFactoryBean");
            Object bean3 = applicationContext.getBean("colorFactoryBean");
            System.out.println("bean的类型:"+bean2.getClass());
            System.out.println(bean2 == bean3);
            
           //工厂Bean获取的是ColorFactoryBean对象本身
            Object bean4 = applicationContext.getBean("&colorFactoryBean");
            System.out.println(bean4.getClass());
        }
  • 相关阅读:
    每周总结8.18
    每周总结7.28
    每周总结8.25
    每周总结7.21
    每周总结8.11
    每周总结8.4
    大道至简 读后感
    递归进行回文的判断
    课后作业1
    GoodBlogs Websites
  • 原文地址:https://www.cnblogs.com/guchunchao/p/9691994.html
Copyright © 2011-2022 走看看