记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)
Posted tanglizi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)相关的知识,希望对你有一定的参考价值。
大家好嘞,今天闲着没事干开写写博客,记录一下Maven+SpringBoot的多模块设计和遇到的坑。
多模块设计
简单说明一下截止目前的需求:
- 需要RESTful API:对文章、标签、分类和评论等的CRUD
- 要前台展示: 首页、归档、文章具体页等
- 后台管理:添加文章、新增标签之类
简单分析可以简单设计一个模块来组织代码,比如就叫oyster-blog。
但显然有个问题,这么设计会让代码比较混乱,比如我不能在同一个类中处理所有的请求,也不能分成三个类分别实现这三个功能。
比较好的设计是分成三个包,然后各个包内细化各个功能。
这么做的话,不太方便团队开发。一堆人一起写一个模块,管理起来有些麻烦。
比如突然新增一个特性,牵扯一堆东西。大家一起写的话,最后合并代码说不定还会冲突。
所以我们来稿多模块吧。
但不方便的地方还是存在,比如突然有一天我的前台展示挂掉了。
这种情况下,老板或者我个人甚至想让api模块不受影响,继续运行。
这可咋整?
这种情况我们貌似可以做微服务了。(猜测这样多模块设计过渡到微服务是轻松的,还没想做这个呢)
那么就有一个多模块的设计:
- oyster-common
提供公共的访问数据库的接口,工具类(比如分析请求的工具,时间处理) - oyster-api
提供RESTful API - oyster-front
提供前台展示 - oyster-back
后台管理
Maven多模块构建的细节
待续
Maven+SpringBoot多模块的细节
待续
以上是关于记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)的主要内容,如果未能解决你的问题,请参考以下文章