为了简化内部开发,我正在考虑为Spring Boot开发一个薄层/客户启动器。 这个自定义启动器只取决于一些启动启动器和我们需要的一些其他依赖(外部和内部)。
无论如何,我想要做的下一步是这个自定义启动器包含一个application.properties配置,我们希望在我们的项目中应用默认设置。 我希望这个配置文件能够自动获取而不需要明确引用它。当然,应该可以覆盖实际项目中的属性。
Boot是否已经为此提供了一些东西?
注意:我已经有'Custom'Application扩展了Boot的SpringApplication;所以,如果我可以这样配置它就没问题了。
答案 0 :(得分:2)
Spring Boot使用specific order:
查找属性System.getProperties()
)java:comp/env
RandomValuePropertySource
random.*
application.properties
,包括YAML和配置文件变体)application.properties
包括YAML和配置文件变体)@PropertySource
班级上的@Configuration
注释
SpringApplication.setDefaultProperties
指定)要使用自定义启动器为项目提供最大限度地覆盖默认值的灵活性,您应该使用尽可能靠近上面列表末尾的机制。
鉴于您已经拥有自己的SpringApplication
子类,我将在该子类中使用SpringApplication.setDefaultProperties(Properties)
。