Spring Boot配置约定

问题描述 投票:0回答:1

对于Spring Boot应用程序,我们使用application.yml.properties变体编写特定于Spring的应用程序配置。例如:

server:
  port: 7779

management:
  endpoints:
    web:
      exposure:
        include: gateway

是否有一些约定如何命名应用程序域特定的配置?哪里可以放置此配置文件:在相同的application.yml中还是应该是单独的文件?如何命名这些属性?范例

adder-service:
  max-number : 33
some-other:
  a:
    b: 44

我们是否应为此应用程序特定的配置另外生成META-INF/additional-spring-configuration-metadata.json

java spring spring-boot configuration
1个回答
1
投票

一种好的做法是将配置文件视为具有默认值的配置结构:

myapp:
   myprop1: abc
   myprop2: xyz

实际值来自环境:

MYAPP_MYPROP1=abc
MYAPP_MYPROP2=xyz

在具有特定于应用程序的前缀的代码中使用type-safe configuration

@ConfigurationProperties("myapp")
class MyAppProperties {

    private String myprop1;
    private String myprop2;

    // getters & setters ...
}

如果配置是针对特定部署场景的,则将其放入由Spring配置文件管理的单独文件中,例如。 application-aws.yml

spring.profiles.active=aws
© www.soinside.com 2019 - 2024. All rights reserved.