多个项目可以放到同一个仓库分开提交吗_一个项目有两个pom


最近在做一个旅游点评网站项目,每天的进度还是蛮快的,晚上有时间自己就把一天的重要内容记录下来,也算是对自己的一些总结吧!等回头看的时候总不会四顾茫然一无所得。

先说下需求:

  1. 网站类型类似于驴妈妈网站
  2. 后台技术框架主要是使用spring+springMVC+Mybatis,数据库是MySQL。
  3. 项目采用REST风格,前后端分离。
  4. 另外,该项目需要一个管理平台,主要是员工管理网站内容,使用传统的技术开发。

先分析一下:

  1. 前后端分离开发,后端主要是负责接口的开发,可以叫一个api的项目,前端主要是储存项目的静态页面,也算是一个前端项目,app。
  2. admin开发与api的项目有一定的交集,因为admin也涉及到用户的管理,文章的管理,api项目中也有用户的操作,文章的操作等等,这个时候我们完全可以把我们的持久层分离出来,admin就可以创建一个admin的模块。
  3. 建立核心层core,这个项目只是一个核心的包,里面存放我们对数据库的操作,我们的admin,api项目都可以依赖这个包。在自己的pom文件中导入。
  4. 最后,其实在处理项目的依赖是一个比较麻烦的问题,有的时候统一的依赖需要分布在不同的文件中,比如放在tomcat运行的admin和api项目都需要spring的配置,如果在两个pom文件中分别加入,太臃肿,并且不好管理,这个时候我们可以抽出来一个依赖管理的项目,而这个项目中只有我们的一个parent.pom文件

先上图:


多个项目可以放到同一个仓库分开提交吗_数据库_02

叩丁狼陈惠老师作图


在来看一下概括的结构:


多个项目可以放到同一个仓库分开提交吗_一个项目有两个pom_03


项目的详细结构:


多个项目可以放到同一个仓库分开提交吗_spring_04


在来细分一下具体的内容:


首先是我们的trip.pom.xml文件(这个项目就这么一个文件),里面保存3种内容:

1.就是所有项目共有的依赖,直接使用dependentcy标签处理即可,在所有项目中是自动的导入.

2:就是部分项目的依赖,谁用直接写依赖的groupid以及artifactid即可,版本就在本文件中指定,不会自动导入.

3.:就是自己的子模块的信息.


<dependencies>



core包的pom包主要是导入一些数据库相关的依赖.并且写了自己父类的依赖


<!--数据库相关插件:mysql,druid ,mybatis-spring-->


在其resources文件,主要是存放mybatis配置文件,db配置文件,spring配置文件等等


多个项目可以放到同一个仓库分开提交吗_一个项目有两个pom_05


正如我们看到的,在我们的core的java文件中,我们把所有与数据库操作,业务操作的文件都放在了这里.


api项目的pom文件中处理自己的依赖,另外还要依赖于core包,继承parent包,因为core包中有我们所要使用的service.


<dependencies>


在我们的配置文件中,我们更对的则是对web层面的spring配置,java文件中,我们把controller放在这里,对外暴露出我们的api接口.


多个项目可以放到同一个仓库分开提交吗_配置文件_06



最后一个模块就是我们的admin模块,这个模块,主要是使用传统的方式开发.pom文件跟api的相差无几,更对的是在web模块.


多个项目可以放到同一个仓库分开提交吗_配置文件_07


一个使用Spring+Mybatis搭建的Java项目结构就这样了,希望能够帮助大家.