我的项目中有以下依赖项,并且在我的主类中有@SpringBootApplication
弹簧引导起动数据JPA
有没有办法只在存在Env属性/系统属性时有条件地启用spring boot datasourceautoconfiguration类。
由于
答案 0 :(得分:0)
看来如果将属性“spring.datasource.initialize”定义为false,将跳过初始化逻辑。
如果查看DataSourceAutoConfiguration定义,它将加载配置属性...
DataSourceProperties有一个名为“initialize”的属性,看起来这是在DataSourceInitializer默认实现中引用的......
我读到这是因为能够使用属性跳过数据源初始化。
希望这有帮助
答案 1 :(得分:0)
如何使用注释DataSourceAutoConfiguration
扩展@ConditionalOnProperty
?您可以从spring中排除原始DataSourceAutoConfiguration
,并将自己的实现作为应用程序的一部分。如,
@Configuration
@ConditiaonalOnProperty(value = "datasource.property.anything",matccchIfMissing==true)
public class DataSourceInit extends DataSourceAutoConfiguartion {
}
在您的spring应用程序类中添加exclude
:
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
答案 2 :(得分:0)
您可以使用var popTime = dispatch_time(DISPATCH_TIME_NOW, animationDuration * NSEC_PER_SEC)
dispatch_after(popTime, dispatch_get_main_queue(), {() -> Void in
button.userInteractionEnabled = true
})
属性排除自动配置。您可以使用系统属性设置该属性:
spring.autoconfigure.exclude
您也可以使用-Dspring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
环境变量进行设置。