我有三个 Maven 模块:
- Dao(包含 DAO 接口),
- DaoImpl(包含实现 Dao 的 DAO 类),
- 服务(包含使用 DaoImpl 对象的服务)。
三个模块之间的依赖关系是这样的:
DaoImpl -> Dao <- 服务
'->' 表示'取决于'
我想将 DaoImpl bean 注入服务 bean。问题是由于 Service 不依赖于 DaoImpl,它无法访问其类路径。因此,Service 中声明的 DaoImpl bean 不能自动装配到 DaoImpl 的应用程序上下文中声明的 bean。
一种解决方案是使 Service 依赖于 DaoImpl。
Dao <- DaoImpl <- 服务
但是在这种情况下,为 DAO 提供接口没有任何意义。不再需要模块 Dao 并且 DaoImpl 将被公开。
你对这个话题有什么争论吗?
最好的祝福。