zoukankan      html  css  js  c++  java
  • spring Profile 为不同环境提供不同的配置支持

    说明

      Profile为在不同环境下使用不同的配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的, 例如, 数据库的配置) 。 在spring开发中用@Profile 注解使用来选择行配置系统属性。而在spring boot 中使用跟方便。

    传统的spring Profile使用 

      参考《javaEE 发开的颠覆者》主要结合 @Configuration  @Bean 注解使用 如下代码 :

    @Configuration  //声明注解类
    public class ProfileConfig {
    @Bean
    @Profile("dev") //1 
    public DemoBean devDemoBean() {
    return new DemoBean("from development profile");
    } 
    @Bean @Profile(
    "prod") //2
    public DemoBean prodDemoBean() {
    return new DemoBean("from production profile"); }
    public class Main {
    public static void main(String[] args) {
    AnnotationConfigApplicationContext context =
    new AnnotationConfigApplicationContext();
    context.getEnvironment().setActiveProfiles("prod"); //1 获取容器注入环境配置 ,prodDemoBean 方法,如果设置的是“Ddev” 运行DevDemoBean方法 。
    context.register(ProfileConfig.class);//2
    context.refresh(); //3
    DemoBean demoBean = context.getBean(DemoBean.class);
    System.out.println(demoBean.getContent());
    context.close();
    }
    }

    spring boot 方法中使用:

      对不同环境提供不同配置功能的支持,可以通过激活、指定参数等方式快速切换环境 

      1、多profile文件形式:application-{profile}.properties/yml

        spring 的配置文件有两种形式 一种是properties  文件 ,一种是 yaml 文件 ,不管哪一种都可以用文件命名的形式区分不同环境的配置 如:

        开发环境 :application-dev.properties

        生产环境:application-prod.properties
           然后在 application.properties 文件中激活,当前的环境 :spring.frofiles.active = dev ,激活开发环境 

      2.多profile文档块模式:  这个只针对yml文件格式 ,方便写在一个文件中 ,如下图

      

      3.激活方式:
        命令行 --spring.profiles.active=dev
        – 配置文件 spring.profiles.active=dev 
        – jvm参数 –Dspring.profiles.active=dev

        

  • 相关阅读:
    HDU 1075 What Are You Talking About(字典树)
    HDU 1075 What Are You Talking About (stl之map映射)
    HDU 1247 Hat’s Words(字典树活用)
    字典树HihoCoder
    HDU 1277全文检索(字典树)
    HDU 3294 Girls' research(manachar模板题)
    HDU 3294 Girls' research(manachar模板题)
    HDU 4763 Theme Section(KMP灵活应用)
    Ordering Tasks UVA
    Abbott's Revenge UVA
  • 原文地址:https://www.cnblogs.com/jonrain0625/p/11285494.html
Copyright © 2011-2022 走看看