为了简化内部开发,我正在考虑为Spring Boot开发一个薄层/客户启动程序。这个自定义启动程序仅取决于一些启动启动程序以及我们需要的其他一些依赖关系(外部和内部)。
无论如何,下一步我想做的是,此自定义启动器包括一个application.properties配置,该配置具有我们要在项目中应用的默认设置。而且,我希望可以自动选择此配置文件,而无需明确引用它。当然,应该可以覆盖实际项目中的属性。
Boot是否已经为此提供了一些便利?
注意:我已经有’Custom’Application扩展了Boot的SpringApplication;因此,如果我可以通过这种方式进行配置,那将没有问题。
Spring Boot使用特定顺序查找属性:
System.getProperties()
java:comp/env
RandomValuePropertySource
random.*
application.properties
@PropertySource``@Configuration
SpringApplication.setDefaultProperties
若要使使用自定义启动器的项目在如何覆盖默认值方面具有最大的灵活性,应使用一种尽可能接近上述列表末尾的机制。鉴于您已经拥有自己的子类SpringApplication,我将SpringApplication.setDefaultProperties(Properties)在该子类中使用。
SpringApplication
SpringApplication.setDefaultProperties(Properties)