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());
        }
  • 相关阅读:
    Java实现 LeetCode 189 旋转数组
    Java实现 蓝桥杯 算式最大值
    Java实现 蓝桥杯 算式最大值
    Java实现 蓝桥杯 算式最大值
    Java实现 神犇的悲惨一生
    编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010
    boost:asio编译
    VS2008下编译BOOST 1.39的ASIO库
    Boost下载安装编译配置使用指南
    Boost下载安装编译配置使用指南(含Windows和Linux
  • 原文地址:https://www.cnblogs.com/guchunchao/p/9691994.html
Copyright © 2011-2022 走看看