zoukankan      html  css  js  c++  java
  • 吴裕雄天生自然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();
        }
    
    }

     

  • 相关阅读:
    Codeforces Round #447 Div. 2 A.B.C
    Codeforces Round #445 Div. 2 A ACM ICPC+B Vlad and Cafes
    51Nod 1035 最长的循环节 数论
    Codeforces Round #444 (Div. 2) C.Solution for Cube 模拟
    POJ 3111 K Best
    POJ 2976 Dropping tests
    POJ 3045 Cow Acrobats
    POJ 3045 Cow Acrobats
    POJ 3273
    POJ 3258 River Hopscotch
  • 原文地址:https://www.cnblogs.com/tszr/p/15310321.html
Copyright © 2011-2022 走看看