zoukankan      html  css  js  c++  java
  • 环境隔离与属性替换

    环境隔离的意义

    不同环境下属性值可能不同,比如开发环境和测试环境的数据库连接的配置不同。 因此需要环境隔离机制,指定不同的环境。

    maven环境隔离与属性替换

    <resources>与<profile>标签共同定义不同的环境

    <resources>指定配置文件,<profile>指定属性

    代码块
     
     
     
     
     
    <build>
        <resources>
                <resource>
                    <directory>src/main/resources/${conf-dir}</directory>
                </resource>
                <resource>
                    <directory>src/main/resources/base</directory>
                </resource>
        </resources>
    </build>
    <profiles>
            <profile>
                <id>dev</id>
                <activation>
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <conf-dir>dev</conf-dir>
                    <appkey>abc</appkey>
                </properties>
            </profile>
            <profile>
                <id>stage</id>
                <properties>
                    <conf-dir>stage</conf-dir>
                    <appkey>def</appkey>
                </properties>
            </profile>
    </profiles>
     

    激活环境

    编译打包阶段

    1.mvn clean -U package -Dmaven.test.skip=true 激活默认的环境,<activeByDefault>标签指定的环境。

    2.mvn clean -U package -P stage -Dmaven.test.skip=true 激活stage环境

    属性替换

    编译打包阶段

    替换的目标:pom文件与标签<resources>指定目录下的配置文件

    替换的字符:文件里面的占位符 ${}

    springBoot环境隔离与属性值使用

    application.yml作为配置文件,spring.profiles指定环境

    代码块
     
     
     
     
     
    ---
    # 全局配置
    spring:
      profiles:
        active: dev
      application:
        name: pay-front
    ---
    # dev
    spring:
        profiles: dev
        appkey: com.sankuai.zc.open.payfront
    ---
    # stage
    spring:
        profiles: stage
        appkey: com.sankuai.zc.open.payfront
    ---
     

    激活环境

    启动阶段

    1.java -jar xxxxx.jar 激活默认的环境,spring.profiles.active指定的环境。

    2.java -jar xxxxx.jar --spring.profiles.active=stage 激活stage环境

    属性注入

    运行阶段

    注入的目标:为java类的字段赋值

    使用的方式:占位符${属性名}

    注入的方式:方式1:bean实例化的xml文件中,直接根据占位符${属性名}获取值

    方式2:bean定义代码中,利用注解将代码中需要使用的属性信息注入@Value("${属性名}")  

  • 相关阅读:
    立 Flag
    ASP.NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库
    C# Xamarin 数据绑定入门基础
    C# HttpClient 请求认证、数据传输笔记
    【PHP篇】输出方法
    【PHP篇】变量与常量
    C语言小笔记
    树莓派GPIO口的使用
    树莓派连接不上WiFi
    OLED屏幕详细使用(CC2530 & 51)
  • 原文地址:https://www.cnblogs.com/DengGao/p/envSplite.html
Copyright © 2011-2022 走看看