我在我的項目下面的依賴,並有@SpringBootApplication在我的主類 彈簧引導起動數據JPA
有什麼辦法有條件使得彈簧啓動datasourceautoconfiguration類僅基於Env屬性/系統屬性存在。春季啓動conditonally使DataSourceAutoConfiguration
感謝
我在我的項目下面的依賴,並有@SpringBootApplication在我的主類 彈簧引導起動數據JPA
有什麼辦法有條件使得彈簧啓動datasourceautoconfiguration類僅基於Env屬性/系統屬性存在。春季啓動conditonally使DataSourceAutoConfiguration
感謝
如何與註解@ConditionalOnProperty
延伸DataSourceAutoConfiguration
?您可以從彈出窗口排除原始的DataSourceAutoConfiguration
,並將您自己的實現作爲應用程序的一部分。比如,
@Configuration
@ConditiaonalOnProperty(value = "datasource.property.anything",matccchIfMissing==true)
public class DataSourceInit extends DataSourceAutoConfiguartion {
}
在Spring應用程序類添加exclude
爲:
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
您可以使用spring.autoconfigure.exclude
財產排除自動配置。你可以使用系統屬性設置該屬性:
-Dspring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
你也可以使用SPRING_AUTOCONFIGURE_EXCLUDE
環境變量設置。
嗨雙子座,謝謝。當datasource.property.anything設置爲true時,能夠成功地獲得應用程序...但是當它關閉(設置爲false)時,加載HibernateJpaAutoConfiguration類時會失敗。我回來並添加@EnableAutoConfiguration(排除= {DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})。現在它在設置爲false時工作,但在設置爲true時失敗。 –
當你不想啓用'DataSourceAutoConfiguration'時,可以肯定的是,如果你排除所有這些都沒有問題。如果你的'datasource.property.anything'設置爲false,那麼失敗會是什麼?根據我的經驗,「@ ConditionalOnProperty」將決定是否應該加載類「HibernateJpaAutoConfiguration」。否則,請你將你的項目發佈到github上,或者只是郵寄給我?我想對此做更多的研究。如果我已經實現了,我會發布任何有用的信息。 –