记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多模块的细节

待续

猜你喜欢

转载自www.cnblogs.com/tanglizi/p/10817291.html