gpt4 book ai didi

Spring boot application.properties 扩展了另一个属性文件

转载 作者:行者123 更新时间:2023-12-03 06:20:38 25 4
gpt4 key购买 nike

我想在一个属性文件中继承一些属性到应用程序属性。请告知 Spring Boot 中是否可以这样做。

类似的东西

application.properties
----------------------
extends = otherproperty.properties
property1 = value1
property2= value2
property3 = value3

otherproperty.properties
------------------------
property4=value4
property5 = value5

当 Spring Boot 应用程序加载时,我希望所有 5 个属性都应该加载并使用 @Value 注释可用。 Spring Boot 自动选择类路径中的 application.properties,但我没有 applicaitoncontext xml 或任何属性加载器代码。

提前致谢。

最佳答案

您可以使用配置文件来实现此目的。

使用 application.properties 文件,您可以为每个 Profile 定义一个文件,如下所示:

application.properties # This is the main file
spring.profiles=p1,p2,p3
prop-main=hi

application-p1.properties # This is the file with p1 properties
property1=patata

application-p2.properties # This is the file with p2 properties
property2=catsup

application-p3.properties # This is the file with p3 properties
property3=helloworld

Spring 将翻译文件并像这样使用它:

application.properties # This is the main file
spring.profiles=p1,p2,p3
prop-main=hi
property1=patata
property2=catsup
property3=helloworld

此解决方案有效,但您必须为每个组保留一个单独的文件。

还有另一种方法,您可以使用单个 YAML 文件而不是多个 properties 文件。只需将 application.properties 替换为 application.yml 并执行如下操作:

server:
address: 192.168.1.100
---
spring:
profiles: development
server:
address: 127.0.0.1
---
spring:
profiles: production
server:
address: 192.168.1.120

您可以阅读引用文档以获取有关 Using YAML instead of Properties 的更多信息。以及关于Multi-profile YAML documents .

关于Spring boot application.properties 扩展了另一个属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33263316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com