基于maven构建多模块化的SSM框架

3,455 阅读4分钟

之前写过一篇SSM的框架整合;项目开发框架-SSM;对SSM中的一些点进行了学习记录,那篇文章也是基于maven来创建的,那么为什么又要搞一篇呢?以我当前公司项目A来说,A项目包括前台、后台子项目【前台用于对外,后台用于管理】,如果按照前一篇文章的那种方式来进行,我们就需要建立两个单独的框架来进行开发,一样的拥有一套从dmo实体类包,util包,dao包,service包以及controller包,这种结构非常的紧凑和独立,但是问题在于,我们前后台使用的是同一个库,dmo、util、dao以及service中都会存在大量重复的代码,很多基础方法无法公用;另外一个原因是,我们还需要包装一些接口向外提供服务【不局限于我们自己的这两个系统】,这样一来,我们又需要再去抽离一次service,非常不方便。因此就使用maven来构建多模块项目,对于util、dao、rpc服务接口以及service进行模块化分离,这样一来,这些模块就可以对我们自己的前后台以及外部提供一些公关的服务,避免了大量的代码重复,也方便管理。

Maven多模块项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。

构建多模块化项目

基于maven构建多模块化项目主要依赖于maven可以实现父子项目的关系,子项目可以父项目的依赖Jar包,这样也方便我们去共同管理jar依赖,但是由于一个项目中毕竟会有很多人进行协同开发,在此过程中如果没有很好的约束,对于这种多模块化来说,解决jar包的冲突也很繁琐。

新建一个父工程

1.创建maven项目

  • step1:(新建maven项目)
  • step2:(勾选创建一个简单工程)
  • step3:(填写工程配置:主要是打包方式要选择pom方式)

    点击finish,父项目就创建成功了!
    2.创建子项目
  • step1:(右击父项目->maven->New Maven Model Project)
  • step2:
  • step3:(一般情况下,我们项目中的util、dao、service都是可以直接分出来的,这里我们选择quickstart来构建,用于生产后面的jar包提供服务。我们的web子项目选择webapp来构建,用于配置文件、jsp文件/ftl/html/js/css等界面资源文件维护)

    点击finish,完成子模块的构建!构建之后的项目结构为:

    此时,我们的父模块中已经有了子模块的项目标识,新建的dao模块中不包括webapp此类的文件夹。那么这时就可以将我们的数据访问相关的类和接口都放在这个子模块中,如果其他项目需要使用,我们直接引入就行,引入方式如下(下面截图是从service模块引入dao模块的,这里的groupId,artifactId,version我们可以在dao的pom文件中直接复制使用):


    (上面新建的过程只作为演示而用,下面的引入和上面的新建项目并非一个项目)
    其他的模块构建和dao的构建过程是一样的,这里就不一一构建了。源码地址在下面,解压之后,以maven项目方式导入,修改下数据库配置文件应该就可以直接运行了(当前项目基于jdk1.7写的,有的小伙伴如果用1.8的话,应该会出现jsp无法编译的一个错误);源码附件中还有一个setting文件,阿里的,个人觉得用起来很不错,也推荐给大家!

源码地址:download.csdn.net/download/si…
【这个是csdn的地址,现在资源上传还必需要选择C币,小伙伴如果没有csdn账户或者C币不足,可以在文章留言区留言,留下邮箱,我发给你们】