环境隔离与属性替换

环境隔离的意义

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

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("${属性名}")  

posted @   刨根问底_liang  阅读(328)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示