我们为什么要搭建多模块的maven项目呢?
以多模块的方式组织项目,其实也是maven一直倡导的。做开发的同学都知道的一个概念就是“低耦合,高内聚”,将项目划分多模块,可以极大的增大代码的重用性,防止随着项目的增大,pom文件越来越臃肿。
对于一般的java项目我们一般是这么分层的:
- dao层负责数据库的交互。
- service层主要处理业务逻辑。
- web层负责与客户端交互。
- pojo层存放的是实体类。
- common层存放我们常用的一些公用的工具类等。
对应的,在一个项目中,我们会看到一些包名:
- com.leeyom.ssm.dao
- com.leeyom.ssm.service
- com.leeyom.ssm.web
- com.leeyom.ssm.common
- com.leeyom.ssm.pojo
这样整个项目的框架就清晰了,但随着项目的进行,你可能会遇到如下问题:
- 这个应用可能需要有一个前台和一个后台管理端,你发现大部分dao,一些service,和大部分util是在两个应用中均可用。
- pom.xml中的依赖列表越来越长以重用的,但是,由于目前只有一个项目(WAR),你不得不新建一个项目依赖这个WAR,这变得非常的恶心,因为在Maven中配置对WAR的依赖远不如依赖JAR那样简单明了,而且你根本不需要com.leeyom.ssm.web。有人修改了da