zoukankan      html  css  js  c++  java
  • 用Annotation方式实例化Bean

    因为MyBatis接近尾声, 书上提到了SpringBoot, 原来这个东西这么潮, 不能不学...

    现在开始看"JavaEE开发的颠覆者Spring Boot实战"一书, 下面是笔记:

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Profile;
    
    @Configuration
    public class ProfileConfig {
        @Bean
        @Profile("dev")
        public DemoBean devDemoBean(){
            return new DemoBean("from development profile");
        }
        
        @Bean
        @Profile("prod")
        public DemoBean prodDemoBean(){
            return new DemoBean("from production profile");
        }
    
    }

    用Annotation(注解)的方式来配置, 是继xml文件之后的一种潮流做法?

    首先是@Configuration, 其实意思是不是相当于这是一个配置文件, 类似xml

    这个例子是, 如果需要区分生产环境跟开发环境, 可以用这个配置文件/或曰配置Bean, 或曰配置类, 加上@Profile注解, 就能方便的做到.

    下面是Main:

    public class Main {
        public static void main(String[] args) {
            AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
            context.getEnvironment().setActiveProfiles("prod");
            context.register(ProfileConfig.class);
            context.refresh();
            DemoBean demoBean=context.getBean(DemoBean.class);
            System.out.println(demoBean.getContent());
            context.close();
        }
    }

    DemoBean是这样:

    public class DemoBean {
        private String content;
    
        public DemoBean(String content) {
            super();
            this.content = content;
        }
    
        public String getContent() {
            return content;
        }
    
        public void setContent(String content) {
            this.content = content;
        }
    }
  • 相关阅读:
    数字黑洞
    剪刀石头布
    A除以B
    【Java3】打印三角形
    Servlet 之 javax.servlet 包
    关键字之Super
    设计模式之单例模式
    Servlet 之 读取读取 HTTP 头
    static之类方法和实例方法的区别
    Lambda之通过“方法引用”让你的Lambda表达式更加简洁
  • 原文地址:https://www.cnblogs.com/Montauk/p/9822075.html
Copyright © 2011-2022 走看看