【发布时间】:2020-04-06 23:07:12
【问题描述】:
我刚开始接触 Spring,来自纯 Java EE 背景,所以像 IOC 和依赖注入这样的东西对我来说都是新的。根据 Spring 文档,我了解对于任何调用其依赖项实例的类,我可以选择将这些依赖项自动装配为依赖注入的一种形式。这实际上与我们在 java 中经常做的通常的实例声明不同,如下所示:Animal animal1 = new Animal()
在我的一项小型测试 Spring Boot 项目服务中,我注意到我最终会同时进行 依赖注入和正常的类实例化。我使用 JPA Repository 来制作我的 repo 层,并自动装配 repo 类,以便我可以像使用它们一样使用它们。
@Autowired
customerAccountRepo
这一切都很好。我还有一个 DAO customerMembershipValidity,它的属性是其他声明的 POJO,并且有一些公共辅助函数来设置 DAO 的属性。然而,为了使用这个 DAO,我发现自己以传统方式创建了多个 DAO 实例,实例化
CustomerMembershipValidity customerMembershipValidity1 = new CustomerMembershipValidity() 在整个服务中多次调用公共辅助方法,例如 customerMembershipValidity.setNewExpiry()。我认为不需要自动装配,因为我正在处理 DAO 或 POJO,而不是其他服务......或者我应该吗?
目前,当我进行单元测试时,代码似乎可以正常工作,但我想知道这是否会损害代码的整体寿命和敏感性,或者在我运行时是否可以预见最终会在 E2E 中中断Spring Boot 应用程序。
【问题讨论】:
标签: java spring spring-boot