我有一個恰好使用Camunda for BPMN的Spring Boot應用程序。一切正常。我有我的application.properties文件中的Hikairi DBPool和數據源屬性。每一件事情運行正常,工作流程和工作等..Spring Boot找不到JdbcTemplate的DataSource
我現在想通過JdbcTemplate的訪問我的數據庫,使用相同的數據源,因爲所有的表都在同一個數據庫中。我加入這個類:
@Component
public class MyDao extends JdbcDaoSupport {
public MyRow getMyRowById(int id) {
String sql = "select * from MyTable where id = ?";
try {
MyRow myRow = (MyRow)getJdbcTemplate().queryForObject(sql, new Object[] { id }, new MyRowMapper());
return myRow;
} catch (Exception e) {
System.out.println(e.getMessage());
}
return null;
}
}
而我得到的錯誤:
Caused by: java.lang.IllegalArgumentException: 'dataSource' or 'jdbcTemplate' is required
怎麼可能當我知道它的存在。我在日誌中看到Hikari正在使用它並將其自身添加爲用於池化的DataSource。如果我只是刪除了@Component並且它至少部署了,但正如你所想的那樣,它會在getJdbcTemplate()調用中引發一個空指針。
是否有一個註釋我錯過了,讓它自動裝載正確並將DataSource暴露給我的JdbcTemplate?