小编典典

如何通过自定义启动器配置默认的application.properties?

spring-boot

为了简化内部开发,我正在考虑为Spring
Boot开发一个薄层/客户启动程序。这个自定义启动程序仅取决于一些启动启动程序以及我们需要的其他一些依赖关系(外部和内部)。

无论如何,下一步我想做的是,此自定义启动器包括一个application.properties配置,该配置具有我们要在项目中应用的默认设置。而且,我希望可以自动选择此配置文件,而无需明确引用它。当然,应该可以覆盖实际项目中的属性。

Boot是否已经为此提供了一些便利?

注意:我已经有’Custom’Application扩展了Boot的SpringApplication;因此,如果我可以通过这种方式进行配置,那将没有问题。


阅读 565

收藏
2020-05-30

共1个答案

小编典典

Spring Boot使用特定顺序查找属性:

  1. 命令行参数
  2. Java系统属性(System.getProperties()
  3. 操作系统环境变量
  4. 来自的JNDI属性 java:comp/env
  5. 一个RandomValuePropertySource只有在性能random.*
  6. 打包的jar之外的应用程序属性(application.properties包括YAML和配置文件变体)
  7. 打包在jar中的应用程序属性(application.properties包括YAML和配置文件变体)
  8. @PropertySource``@Configuration课堂上的注释
  9. 默认属性(使用指定SpringApplication.setDefaultProperties

若要使使用自定义启动器的项目在如何覆盖默认值方面具有最大的灵活性,应使用一种尽可能接近上述列表末尾的机制。鉴于您已经拥有自己的子类SpringApplication,我将SpringApplication.setDefaultProperties(Properties)在该子类中使用。

2020-05-30