gpt4 book ai didi

java - 如何使用 spring boot + .yaml 创建配置文件?

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

我有带有 2 个属性文件的 Spring Boot 服务器:application-local.propertiesapplication-test.properties

在每个文件中,我都有用于开发机器和测试的配置。像这样开始:

-Dspring.profiles.active=local

但是在新的 Spring Boot 项目中我使用 .yaml 配置文件。我不明白如何将 profiles.yaml 一起使用。我尝试阅读文档但一无所知。您能一步步解释一下该怎么做吗?

我需要两个文件吗?

application-local.yamlapplication-test.yaml

或者我需要将所有内容写入一个 application.yaml 文件中?如果在一个文件中如何分离配置?这是我的配置:

server:
path: ***
port: ***

cxf:
path: ***

spring.datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: oracle.jdbc.OracleDriver
url: ***
username: ***
password: ***
hikari:
minimumIdle: 5
maximumPoolSize: 20
idleTimeout: 30000
poolName: SpringBootJPAHikariCP
maxLifetime: 2000000
connectionTimeout: 30000
connection-test-query: SELECT 1 FROM DUAL

spring.jpa:
show-sql: false
database-platform: org.hibernate.dialect.Oracle10gDialect
properties.hibernate.jdbc.batch_size: 30
properties.hibernate.cache.use_second_level_cache: false
hibernate:
ddl-auto: validate


spring.cache:
ehcache:
config: classpath:ehcache.xml

#app configs
my:
messages-max-count: 5
messages-delay: 100
schedulers-charge-delay: 100
client:
first-server-address: ***
second-server-address: ***
last-server-address: ***
enabled-client: FirstClient

我想创建测试配置文件并更改数据库 URL(或更改为 postgreSql),更改 maximumPoolSize 属性

最佳答案

  1. 创建 application.yaml 并在其中定义所有默认属性。
  2. 创建 application-local.yaml 并覆盖 local 配置文件所需的属性。
  3. 创建 application-test.yaml 并覆盖 test 配置文件所需的属性。
  4. 通过将spring.profiles.active作为系统属性传递(-D对于java)或在中定义来设置它>application.yaml.

当您运行带有{PROFILE}的应用程序时,Spring将在application.yaml之后解析application-{PROFILE}.yaml .

关于java - 如何使用 spring boot + .yaml 创建配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627023/

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