Python 官方文档:入门教程 => 点击学习
SpringBoot 根据不同profile选择不同配置 附上pom的 profiles配置 <build> <finalName>${pro
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.Maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profilesActive>dev</profilesActive>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profilesActive>test</profilesActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profilesActive>prod</profilesActive>
</properties>
<build>
<filters>
<filter>/Users/xxx/Desktop/prod.properties</filter>
</filters>
</build>
</profile>
</profiles>
如果使用的是 application-prod.yml 文件
里面的占位符会被prod.properties替换掉
占位符用 两个@@ 例如:@jdbc.name@
项目多数情况下,需要部署到不同环境中.使用maven打包,不做其它配置时,默认输出的jar包中,包含所有的配置文件,这样显然不太合理,当不同的生产环境中,不希望存在其它的生产环境的配置文件,可采用如下配置
<!--不同开发环境配置-->
<profiles>
<profile>
<id>dev</id>
<properties>
<!--pa为自定义的属性,可在application.yml文件中引用-->
<pa>dev</pa>
</properties>
<activation>
<!--不加参数默认的profile-->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<pa>test</pa>
</properties>
</profile>
<profiles>
<!--节点层级为project>profiles-->
<resources>
<!--先忽略所有配置文件,后进行需要的配置文件的追加-->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/application-*.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<!--此处的pa代表的是profile中自定义的属性-->
<include>**/application-${pa}.yml</include>
</includes>
</resource>
</resources>
spring:
profiles:
# profile中定义的pa属性
active: @pa@
mvn clean package -Dmaven.test.skip=true -Pdev
PS
如上配置后,直接更改spring.profiles.active无效,且项目运行会报错
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: SpringBoot 如何根据不同profile选择不同配置
本文链接: https://lsjlt.com/news/131750.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0