我正在https://developer.ibm.com/tutorials/spring-with-db2-via-jdbc/上運行tutorial.example, 但無法讓它工作,我不斷收到以下錯誤,并且不確定如何修復。沒有“org.springframework.jdbc.core.JdbcTemplate”類型的合格 bean 可用:預計至少有 1 個有資格作為自動裝配候選者的 bean。依賴注釋:{@org.springframework.beans.factory.annotation.Autowired(required=true)}'教程中沒有提到與設置 bean 相關的內容,所以我不確定我是否應該中斷它來修復它,或者我只是犯了一個錯誤。我的應用程序類 -@SpringBootApplicationpublic class SBApplication { public static void main(String[] args) { SpringApplication.run(SBApplication.class, args); } }休息控制器示例 -package application.rest.v1;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.web.bind.annotation.ResponseBody;import java.util.ArrayList;import java.util.List;import main.java.application.jdbc.*;@RestControllerpublic class Example { @Autowired JdbcTemplate jdbcTemplate; @RequestMapping("test") public @ResponseBody ResponseEntity<String> example() { List<String> list = new ArrayList<>(); list.add("Table data..."); jdbcTemplate.query( "SELECT * FROM things", new Object[]{}, (rs,rowNum) -> new Things(rs.getLong("id"), rs.getString("name"))) .forEach(thing -> list.add(thing.toString())); return new ResponseEntity<String>(list.toString(), HttpStatus.OK); }}application.properties -spring.datasource.url=jdbc:imdb://xxxx.xxx.xxxx/xxxxspring.datasource.username=xxxxxxxspring.datasource.password=xxxxspring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration另外,我沒有連接到教程中建議的 DB2 實例,而是連接到我自己的實例。
1 回答

一只甜甜圈
TA貢獻1836條經驗 獲得超5個贊
我相信您缺少應該JdbcTemplate在配置中配置的部分。當您使用 時,您可以通過類上的注釋spring boot來實現它。@Configuration您的典型配置如下所示
@Configuration
public class WebAppConfig {
@Bean(name = "appDataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "applicationJdbcTemplate")
public JdbcTemplate applicationDataConnection(){
return new JdbcTemplate(dataSource());
}
}
添加回答
舉報
0/150
提交
取消