![268de5196e8258d08d674d02b7af4b5d.png](https://i-blog.csdnimg.cn/blog_migrate/e70ea6484508e3ccb3ad839cb05ffcc3.png)
最近在做一个旅游点评网站项目,每天的进度还是蛮快的,晚上有时间自己就把一天的重要内容记录下来,也算是对自己的一些总结吧!等回头看的时候总不会四顾茫然一无所得。
先说下需求:
- 网站类型类似于驴妈妈网站
- 后台技术框架主要是使用spring+springMVC+Mybatis,数据库是MySQL。
- 项目采用REST风格,前后端分离。
- 另外,该项目需要一个管理平台,主要是员工管理网站内容,使用传统的技术开发。
先分析一下:
- 前后端分离开发,后端主要是负责接口的开发,可以叫一个api的项目,前端主要是储存项目的静态页面,也算是一个前端项目,app。
- admin开发与api的项目有一定的交集,因为admin也涉及到用户的管理,文章的管理,api项目中也有用户的操作,文章的操作等等,这个时候我们完全可以把我们的持久层分离出来,admin就可以创建一个admin的模块。
- 建立核心层core,这个项目只是一个核心的包,里面存放我们对数据库的操作,我们的admin,api项目都可以依赖这个包。在自己的pom文件中导入。
- 最后,其实在处理项目的依赖是一个比较麻烦的问题,有的时候统一的依赖需要分布在不同的文件中,比如放在tomcat运行的admin和api项目都需要spring的配置,如果在两个pom文件中分别加入,太臃肿,并且不好管理,这个时候我们可以抽出来一个依赖管理的项目,而这个项目中只有我们的一个parent.pom文件
先上图:
![65fb20b8b1722a1ad01c55972bfc250c.png](https://i-blog.csdnimg.cn/blog_migrate/fa1f75a07acf1070ff3c8c30a2405d7b.jpeg)
在来看一下概括的结构:
![50e8460069caf80c837834d8b737e400.png](https://i-blog.csdnimg.cn/blog_migrate/9352dd634e6f74e4fdb664fd2b0ca4c4.jpeg)
项目的详细结构:
![33f495e3d56c03893a992b1dfc1a1629.png](https://i-blog.csdnimg.cn/blog_migrate/0cac941686e86ea04b3c75bef2584358.jpeg)
在来细分一下具体的内容:
首先是我们的trip.pom.xml文件(这个项目就这么一个文件),里面保存3种内容:
1.就是所有项目共有的依赖,直接使用dependentcy标签处理即可,在所有项目中是自动的导入.
2:就是部分项目的依赖,谁用直接写依赖的groupid以及artifactid即可,版本就在本文件中指定,不会自动导入.
3.:就是自己的子模块的信息.
<dependencies>
core包的pom包主要是导入一些数据库相关的依赖.并且写了自己父类的依赖
<!--数据库相关插件:mysql,druid ,mybatis-spring-->
在其resources文件,主要是存放mybatis配置文件,db配置文件,spring配置文件等等
![430cd22b0f224a01e221a17b132b764a.png](https://i-blog.csdnimg.cn/blog_migrate/18037b4cc612d0be8a6759e65f4a67c0.jpeg)
正如我们看到的,在我们的core的java文件中,我们把所有与数据库操作,业务操作的文件都放在了这里.
api项目的pom文件中处理自己的依赖,另外还要依赖于core包,继承parent包,因为core包中有我们所要使用的service.
<dependencies>
在我们的配置文件中,我们更对的则是对web层面的spring配置,java文件中,我们把controller放在这里,对外暴露出我们的api接口.
![7ecc1ca5687b38ee2badcaebbb215235.png](https://i-blog.csdnimg.cn/blog_migrate/6f07dd23e72b128409c0c6bfdfa90b8a.jpeg)
最后一个模块就是我们的admin模块,这个模块,主要是使用传统的方式开发.pom文件跟api的相差无几,更对的是在web模块.
![4d7020ac89f5451c07a87b80be7e5c06.png](https://i-blog.csdnimg.cn/blog_migrate/ca544693401addb85176ef4336b146f6.jpeg)
一个使用Spring+Mybatis搭建的Java项目结构就这样了,希望能够帮助大家.