[英]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.