我有三个Maven模块:
三个模块之间的依赖关系如下:
DaoImpl - >道&lt ;-服务
' - >'意思是“取决于”
我想将DaoImpl bean注入Service bean。问题是,由于Service不依赖于DaoImpl,因此无法访问其类路径。因此,在Service中声明的DaoImpl bean无法自动连接到DaoImpl的应用程序上下文中声明的bean。
一种解决方案是使服务依赖于DaoImpl。
Dao< - DaoImpl< - Service
但是在这个cas中,没有为DAO提供接口的意义。将不再需要Dao模块,DaoImpl将被曝光。
你对这个问题有什么争论吗?
最好的问候。
答案 0 :(得分:1)
恕我直言,你应该介绍第四个模块,它取决于dao,(其中一个)daoimpl和服务。
它的应用程序部署'模块 - 通常是WAR或类似的东西。
Application模块的作用主要是准备完整的类路径。
答案 1 :(得分:0)
也可以通过
解决Service
|_DaoIface
|_DaoImpl
这里可以从服务加载spring,因此可以看到IFace和Impl。
由于Impl对服务是直接可见的,因此并不意味着DaoIface不是必需的。这是你的设计决定。如果DAOImpls实现将在运行时更改,或者如果有任何其他组件要向其公开DAO层,那么iface将非常方便。