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;
        }
    }
  • 相关阅读:
    Angular入门到精通系列教程(12)- 路由(Routing)
    Angular入门到精通系列教程(11)- 模块(NgModule),延迟加载模块
    error: file '/boot/grub/i386-pc/normal.mod' not found解决方案
    mysql常用查询
    mysql数据库表中随机生成时间
    成本分析报表
    弹窗维护字段POPUP_GET_VALUES
    返回上一个屏幕
    PM停机时间问题处理
    IP41
  • 原文地址:https://www.cnblogs.com/Montauk/p/9822075.html
Copyright © 2011-2022 走看看