Java Spring启动应用程序配置问题

Java Spring启动应用程序配置问题,java,spring,spring-boot,Java,Spring,Spring Boot,我的申请表结构如下 ---- | |____SpringBootApplicationA | | |___module-1 |___module-2 每个模块都有自己的配置,例如,模块1是与mysql对话的库,它有自己的配置(连接字符串、用户名、密码等) 现在,我想在模块1中以JavaPOJO的形式表示这个配置application.yml和读取配置并设置值的bean 比如说 class Module1Config

我的申请表结构如下

----
   | 
   |____SpringBootApplicationA
        |
        |
        |___module-1
        |___module-2
每个模块都有自己的配置,例如,模块1是与mysql对话的库,它有自己的配置(连接字符串、用户名、密码等)

现在,我想在模块1中以JavaPOJO的形式表示这个配置
application.yml
和读取配置并设置值的bean

比如说

class Module1Config {

  private String key1;
  private String key2;

  // getters & setters
}
application.yml
位于模块1

key1: val1
key2: val2
现在,作为模块1的消费者,
SpringBootApplicationA
将接收模块1的配置,该配置由模块1设置为默认配置

在用户端,它将具有如下应用程序配置

someKey1: someVal1
someKey2: someVal2
module-1:
  key1: overrideVal1
当模块1的bean发生初始化时,我希望这些值

key1: overrideVal1
key2: val2
如何配置SpringBoot以尊重默认值并覆盖它们


编辑

class AppConfig {

  private String key1;
  private int key2;

  private Module1Config conf;

  // getters + setters

}
这是我的示例应用程序配置,正如您所看到的,它有一些特定于应用程序配置的配置,以及它从其他模块利用的其他配置


我希望
conf
object从module1获得指定的默认值集,然后任何指定为覆盖的应用程序默认加载application.yml文件 来自src/main/resources 您可以在中声明另一个application.yml文件 根路径的配置文件夹和来自的配置 config文件夹将覆盖src/main/resources中的配置

配置位置按相反顺序搜索。默认情况下,配置的位置为classpath:/,classpath:/config/,file:./,file:./config/。结果搜索顺序如下所示:

文件:./config/ 文件:/ 类路径:/config/ 类路径:/

以下是官方文件中的链接:


我认为这很有帮助

谢谢Mykhalio,我对这个问题进行了编辑。我看到了这份文件。我不认为它满足了我提到的场景。我问了一些相同的问题,这里是链接: