我有一个Spring Boot应用程序和一个外部库。应用程序将导入库。在库中,属性设置为默认值true
。在应用程序中,我想覆盖此值。库中有一个@Configuration
类,该类根据该属性的值有条件地加载。相关类如下所示:
库的配置类:
@Configuration
@EnableConfigurationProperties(LibraryProperties.class)
@ConditionalOnProperty(prefix = "com.foo", name = "enabled", havingValue = "true")
public class LibraryConfiguration {
// Load the Beans
}
图书馆的application.properties:
com.foo.enabled = ${ENABLE_FOO:true}
应用程序的主类:
@Import(LibraryConfiguration.class)
@SpringBootApplication
public class App {
public static void main(final String[] args) {
SpringApplication.run(Appl.class, args);
}
}
应用程序的application.properties:
com.foo.enabled = false
我的应用程序的属性文件中的属性替代无效。加载库的配置表。在应用程序的属性加载之前,注释@ConditionalOnProperty
是否在之前进行了评估?