Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring Maven模块依赖性和IoC问题_Spring_Maven_Inversion Of Control - Fatal编程技术网

Spring Maven模块依赖性和IoC问题

Spring Maven模块依赖性和IoC问题,spring,maven,inversion-of-control,Spring,Maven,Inversion Of Control,我有三个Maven模块: Dao(包含Dao接口) DaoImpl(包含实现DAO的DAO类) 服务(包含使用DaoImpl对象的服务) 三个模块之间的依赖关系如下所示: DaoImpl->DaoIMHO您应该介绍依赖于Dao的第四个模块,其中一个是DaoImpl和服务 它是一种“应用程序部署”模块——通常是WAR或类似的模块 应用程序->服务->Dao 应用程序->DaoImpl->Dao 应用程序模块的作用主要是准备完整的类路径。它也可以通过 Service |_DaoIface

我有三个Maven模块:

  • Dao(包含Dao接口)
  • DaoImpl(包含实现DAO的DAO类)
  • 服务(包含使用DaoImpl对象的服务)
三个模块之间的依赖关系如下所示:


DaoImpl->DaoIMHO您应该介绍依赖于Dao的第四个模块,其中一个是DaoImpl和服务

它是一种“应用程序部署”模块——通常是WAR或类似的模块

  • 应用程序->服务->Dao
  • 应用程序->DaoImpl->Dao

应用程序模块的作用主要是准备完整的类路径。

它也可以通过

Service
  |_DaoIface
  |_DaoImpl
在这里,可以从服务加载spring,这样它就可以同时看到IFace和Impl


由于Impl对服务是直接可见的,这并不意味着DaoIface是不必要的。这是您的设计决策。如果DAOImpls实现将在运行时更改,或者如果您希望向任何其他组件公开DAO层,那么iface将非常方便

嗯。我懂了。是的,应用程序应该把所有组件连接在一起——不管是java代码、spring还是其他任何东西——谢谢你的回答。因为我将有一个网络模块,我认为这将是战争,将管理布线。