我有一個簡單的SpringBoot應用程序,我想使用AutoConfiguration來配置Tomcat jdbc池數據源。SpringBoot數據源自動配置不工作
我使用這些Spring的依賴:
// Spring Boot
compile 'org.springframework.boot:spring-boot-starter-web:1.3.5.RELEASE'
compile 'org.springframework.boot:spring-boot-starter-jdbc:1.3.5.RELEASE'
下面是我的application.yml文件我的數據源屬性:
spring:
datasource:
url: jdbc:mysql://my.host/mydb
username: user
password: pwd
driver-class-name: com.mysql.jdbc.Driver
initialSize: 5
我肯定性被加載,因爲應用程序是採摘提高其他價值。
我在配置文件中定義bean爲:
@Bean(name="myDataSource")
@ConfigurationProperties(prefix="spring.datasource")
public DataSource getDataSource() {
DataSource dataSource = DataSourceBuilder.create().build()
return dataSource
}
我注入數據源到我的DAO是這樣的:
@Slf4j
@Repository
class MyDAO {
@Autowired
DataSource dataSource
public void getFoo() {
log.info("DB URL: ${dataSource.getUrl()}")
}
}
如果我在了getDataSource設置斷點()方法DataSourceBuilder將創建一個DataSource實例。但是,像URL,用戶和密碼這樣的對象的所有屬性都是空的。另外,當我調用getFoo()時,dataSource變量爲空。我試過在我的AppConfig中註釋掉bean定義。 dataSource仍然爲空。有什麼建議麼?
我翻閱了Spring Boot文檔和Spring書,但沒有看到像這樣的例子。我看到我自己創建DataSource的例子。但我希望Spring的自動配置能夠自動將這些東西結合在一起。
在此先感謝您提供的任何幫助。
我已經更新了問題,包括我如何注入bean。我試着在我的Java配置文件中註釋這個bean的創建。這樣做,注入的數據源爲空。 –
Spring注入的東西不應該爲null。你如何獲得一個空數據源的MyDAO的實例? –
您當場在。我正在新建DAO對象。一旦我改變了它並添加了SpringBoot JPA依賴項,它就可以工作。我試圖獲得足夠的分數來標記您的答案有用。一旦我到達那裏,我會給你打個勾。再次感謝。 –