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());
        }
  • 相关阅读:
    go语言简述
    树莓派基础
    电信专用名词
    无线linux应用及配置--wifi配置
    udev简述
    什么是物联网网关?物联网网关具备什么功能?_转
    FTDI通用转USB芯片简述
    Spring实现文件的上传下载
    (转)JVM——内存管理和垃圾回收
    (转)JVM——自定义类加载器
  • 原文地址:https://www.cnblogs.com/guchunchao/p/9691994.html
Copyright © 2011-2022 走看看