[英]Spring boot web java configuration not working
I'm just starting off with Spring, I have created a basic Spring boot web app with - Thymeleaf templates, JPA and Mysql.
當我使用自動裝配並注釋所有類時,一切正常。 這是工作代碼的示例。
基本 controller 帶有 @Autowired 注釋以獲取 DAO 實例
因此,當我調用 get 方法時,我可以看到產品列表:顯示 2 個產品
現在,當我轉換到 java 配置時,它停止工作。 我注釋掉了注釋並添加了一個新的 java 配置文件。
@Autowiring 注釋也從 Controller 中刪除
添加了帶有 @Configuration 的 java class,請參閱配置文件:
為了確保上下文加載了 bean,我采用了 run 方法返回的可配置上下文並檢查了 bean 是否已加載。
獲取DAO bean並調用獲取Product line items的方法
這也有效,因為我可以看到 object 不是 null。 我還可以在應用程序啟動后立即獲得 output 中的產品數量。
直到這里一切都很好,應用程序已經啟動。 但是現在當我訪問 URL - 我得到一個錯誤
總結這個例子只是為了理解 Spring 而不是遵循正確的 DDD 實踐。
這是步驟的摘要,問題在步驟 4(b)
為HomeController
聲明一個構造函數,如下所示
@Controller
public class HomeController{
private final ProductDao dao;
public HomeController(ProductDao dao){
this.dao = dao;
}
//... rest of the code
}
參考:Spring 引導參考文檔 - Spring Beans 和依賴注入
如果一個 bean 有一個構造函數,你可以省略 @Autowired
注意:共享實際代碼而不是圖像以供參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.