• 吴裕雄天生自然SPRINGSpring Bean


    Spring框架实例化Bean有三种方式:构造方法实例化、静态工厂实例化和实例工厂实例化(其中,最常用的实例方法是构造方法实例化)
    
    演示Bean的实例化过程,具体步骤如下。
    
    1.使用Eclipse创建Web应用并导入JAR包
    
    2.创建实例化Bean的类
    
    3.创建配置类
    
    4.创建测试类
    
    5.运行测试类
    package instance;
    
    public class BeanClass {
        public String message;
    
        public BeanClass() {
            message = "构造方法实例化Bean";
        }
    
        public BeanClass(String s) {
            message = s;
        }
    
    }
    package instance;
    
    public class BeanInstanceFactory {
        public BeanClass createBeanClassInstance() {
            return new BeanClass("调用实例工厂方法实例化Bean");
        }
    
    }
    package instance;
    
    public class BeanStaticFactory {
        private static BeanClass beanInstance = new BeanClass("调用静态工厂方法实例化Bean");
    
        public static BeanClass createInstance() {
            return beanInstance;
        }
    
    }
    package config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import instance.BeanClass;
    import instance.BeanInstanceFactory;
    import instance.BeanStaticFactory;
    
    @Configuration
    public class JavaConfig {
        /**
         * 构造方法实例化
         */
        @Bean(value = "beanClass") // value可以省略
        public BeanClass getBeanClass() {
            return new BeanClass();
        }
    
        /**
         * 静态工厂实例化
         */
        @Bean(value = "beanStaticFactory")
        public BeanClass getBeanStaticFactory() {
            return BeanStaticFactory.createInstance();
        }
    
        /**
         * 实例工厂实例化
         */
        @Bean(value = "beanInstanceFactory")
        public BeanClass getBeanInstanceFactory() {
            BeanInstanceFactory bi = new BeanInstanceFactory();
            return bi.createBeanClassInstance();
        }
    
    }
    package config;
    
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    import instance.BeanClass;
    
    public class TestBean {
        public static void main(String[] args) {
            // 初始化Spring容器ApplicationContext
            AnnotationConfigApplicationContext appCon = new AnnotationConfigApplicationContext(JavaConfig.class);
            BeanClass b1 = (BeanClass) appCon.getBean("beanClass");
            System.out.println(b1 + b1.message);
            BeanClass b2 = (BeanClass) appCon.getBean("beanStaticFactory");
            System.out.println(b2 + b2.message);
            BeanClass b3 = (BeanClass) appCon.getBean("beanInstanceFactory");
            System.out.println(b3 + b3.message);
            appCon.close();
        }
    
    }

     

  • 相关阅读:
    异步加载text资源,加载一次、执行一次、链式回调
    贝叶斯判断类别
    通过贝叶斯概率机器学习
    什么是 Dropout
    什么是CNN--Convolutional Neural Networks
    神经网络介绍
    神经网络之线性单元
    机器学习十大常用算法
    对比学习用 Keras 搭建 CNN RNN 等常用神经网络
    机器学习,人工智能相关最新图书推荐
  • 原文地址:https://www.cnblogs.com/tszr/p/15310321.html
Copyright © 2020-2023  润新知