当前位置: 首页> 游戏> 攻略 > 提供网站建设框架_腾讯服务商平台_seo优化与sem推广有什么关系_优化方案官网电子版

提供网站建设框架_腾讯服务商平台_seo优化与sem推广有什么关系_优化方案官网电子版

时间:2025/7/9 17:29:12来源:https://blog.csdn.net/Liu_Downloads/article/details/144965933 浏览次数:0次
提供网站建设框架_腾讯服务商平台_seo优化与sem推广有什么关系_优化方案官网电子版

Spring Boot 多环境配置与切换

当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而spring.profiles.active=@profiles.active@是配合maven profile进行选择不同配置文件进行启动,可以避免修改文件,而在maven打包是指定使用哪个配置文件。


1. 配置 pom.xml

pom.xml 中定义不同环境的配置属性:

<profiles><!-- 开发环境 --><profile><id>dev</id><properties><spring.profile>dev</spring.profile><nacos.server.address>192.168.0.121:8848</nacos.server.address></properties><activation><!--是否默认激活,idea开发右侧的maven-install中,profiles默认选中dev--><activeByDefault>true</activeByDefault></activation></profile><!-- 测试环境 --><profile><id>test</id><properties><spring.profile>test</spring.profile><nacos.server.address>192.168.157.130:8848</nacos.server.address></properties><activation><activeByDefault>false</activeByDefault></activation></profile><!-- 本地环境 --><profile><id>local</id><properties><spring.profile>test</spring.profile><nacos.server.address>127.0.0.1:8848</nacos.server.address></properties><activation><activeByDefault>false</activeByDefault></activation></profile><!-- 生产环境 -->	<profile><id>prod</id><properties><spring.profile>prod</spring.profile><nacos.server.address>47.96.94.207:8848</nacos.server.address></properties><activation><activeByDefault>false</activeByDefault></activation></profile>
</profiles><build><!-- Maven 资源配置 --><resources><!--目的(作用):关闭过滤 src/main/resources 路径下的所有文件,确保部分资源文件在构建过程中不被 Maven 过滤器处理。注意:适用于二进制文件、图像文件等不需要替换变量的资源文件,比如图标文件、静态 HTML 文件等。--><resource><directory>src/main/resources</directory><!-- 关闭过滤 --><filtering>false</filtering></resource><!--目的(作用):启用过滤 src/main/resources 路径下以指定前缀命名的文件,确保只有特定文件在构建过程中被 Maven 过滤器处理。注意:适用于文本文件,如配置文件,其中包含需要在构建时替换的变量(例如:将 ${server.port} 替换为具体的值)。--><resource><directory>src/main/resources</directory><!-- 引入所有 匹配文件进行过滤 --><includes><include>application*</include><include>bootstrap*</include><include>banner*</include></includes><!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 --><filtering>true</filtering></resource></resources>
</build>

2. 修改配置文件

application.ymlbootstrap.yml 文件中使用占位符动态替换环境变量:

# Tomcat
server:port: 9201# Spring
spring: application:# 应用名称name: mall-systemprofiles:# 环境配置active: @spring.profile@cloud:nacos:discovery:# 服务注册地址server-addr: @nacos.server.address@config:# 配置中心地址server-addr: @nacos.server.address@# 配置文件格式file-extension: yml# 共享配置shared-configs:- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

说明

  • @spring.profile@@nacos.server.address@ 将在打包过程中被替换为 pom.xml 中的配置值。
  • spring.cloud.nacos.config.shared-configs 支持动态加载不同环境的配置文件。

3. 打包与测试

使用以下命令进行打包:

mvn clean package -P dev  # 开发环境
mvn clean package -P test # 测试环境
mvn clean package -P prod # 生产环境
打包细节说明
  1. 占位符替换: 在打包过程中,Maven 会根据激活的 Profile 自动将配置文件中的占位符替换为对应的值。
    • 示例:如果激活的是 test 环境:
      • @spring.profile@ 被替换为 test
      • @nacos.server.address@ 被替换为 192.168.157.130:8848
  2. 激活方式
    • 默认激活:<activeByDefault>true</activeByDefault> 确保在未指定 Profile 时使用默认配置。
    • 手动激活:使用 -P 参数指定 Profile,例如 -P prod
  3. 替换规则: Maven 会将 <properties> 中定义的变量值应用于资源文件中启用了过滤的部分(如 application.yml)。
验证
  1. 打包后检查目标文件: 查看生成的 target 文件夹,确保配置文件中的占位符已正确替换。
  2. 启动应用: 使用不同环境的包运行应用,确保环境配置符合预期。

注意事项

  1. Profile 命名规范: 确保 <id>application-{profile}.yml 中的 {profile} 一致。
  2. 环境隔离: 不同环境的配置应独立管理,避免交叉影响。
  3. 默认配置文件: 确保未激活任何 Profile 时,应用能够使用默认配置文件正常运行。

总结

通过以上配置,Spring Boot 项目可以实现环境的无缝切换,提升了开发和部署的效率,同时降低了配置出错的风险。

在打包过程中,Maven会根据指定的Profile将配置文件中的占位符(如 @nacos.server.address@)替换为对应Profile中定义的属性值。例如,使用 test Profile打包时,@nacos.server.address@ 将被替换为 192.168.157.130:8848.

关键字:提供网站建设框架_腾讯服务商平台_seo优化与sem推广有什么关系_优化方案官网电子版

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: