如何解决SpringBoot:在 application.yaml 中动态设置属性
application.yaml 包含(例如)设置:
<div>
<p>{{ ctx.schema.title }}</p>
<iframe
src="https://files.form.io/pdf/5692b91fd1028f01000407e3/file/1ec0f8ee-6685-5d98-a847-26f67b67d6f0.html?id=elr4tq&builder=1"
id="iframe-elr4tq" seamless="true" class="formio-iframe"></iframe>
<p>cc</p>
</div>
我希望动态设置“applicationId”。 为此,我尝试使用 SpEl。但结果 SpEl 不能应用于 apllication.yaml。
我阅读了 yaml 的两种动态设置方式:
- 使用 pom.xml
- 使用环境变量
但是这种方式不适用于我的情况:它是一个 gradle 项目。从一个容器部署的所有应用实例。
解决方法
spring.cloud.stream:
kafka.streams.binder.functions.filter:
applicationId: ${zk_prop:zk}
其中 zk_prop
是环境变量,zk
是默认值。
要在使用 Gradle 插件运行应用程序时传递参数,您需要在 build.gradle 文件中配置 bootRun 任务,例如:
bootRun {
if (project.hasProperty('args')) {
args project.args.split(',')
}
}
现在,您可以按如下方式传递命令行参数:
./gradlew bootRun -Pargs=--zk_prop=custom-zk,--other_props=...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。