• 用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;
        }
    }
  • 相关阅读:
    c#2005中的各个控件转换为html代码
    支付宝接口参数详谈
    IE6兼容菜单
    cookie版购物车
    火狐执行子页面方法
    easyui中datebox文本框输入非数字报错的改善
    右侧悬浮菜单
    内边距、边框和外边距
    自我超越
    DateUtils 时间工具类
  • 原文地址:https://www.cnblogs.com/Montauk/p/9822075.html
Copyright © 2020-2023  润新知