一个项目有两个pom_使用Spring+Mybatis搭建的Java项目结构

268de5196e8258d08d674d02b7af4b5d.png

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

先说下需求:

  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文件

先上图:

65fb20b8b1722a1ad01c55972bfc250c.png
叩丁狼陈惠老师作图

在来看一下概括的结构:

50e8460069caf80c837834d8b737e400.png

项目的详细结构:

33f495e3d56c03893a992b1dfc1a1629.png

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


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

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

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

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

<dependencies>
        

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

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

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

430cd22b0f224a01e221a17b132b764a.png

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


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

<dependencies>
        

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

7ecc1ca5687b38ee2badcaebbb215235.png

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

4d7020ac89f5451c07a87b80be7e5c06.png

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值