Spring Boot 3.3.x 脚手架重构:企业级应用实践

前言

在老东家花了一年的时间,基于当时最新的 Spring Boot 2.5.x 写了一套脚手架工程,经过 1 年多的迭代, 这套脚手架已在技术中心多个部分应用.

脚手架包含最底层的 maven 依赖管理, 可以说是整个工程的灵魂, 期间重构过 3 次, 这个后面再说.
第二层是核心模块层, 就是我们常见的 core 包, 但是也分为至少 8 大模块.
第三层是基于 Spring Boot 2.5.x 封装的 starter 层, 这个层是整个脚手架工程的精髓所在, 也是我们后续要重点介绍的.
第四层是支撑层, 包括 Maven 插件和 IDEA 插件.
最后当然是示例工程, 包含每个 starter 组件的使用方式.

写这套脚手架的时候正好赶上 业务中台 火热的时期, 因此比如通用的 用户中心, 支付中心等也应运而生, 但是这部分涉及到公司的业务流程, 后面将不会过多描述.

今天决定开始新一轮的重构, 基于 Spring Boot 3.3.x 来写一个企业级的脚手架工程, 主要考虑以下几点:

  1. 想体验一下最新的 Spring Boot 3.3.x 与 Spring AI;
  2. 最新的 Spring Boot 3.3.x 与 2.x 版本相差太大, 直接升级会存在很多的兼容性问题;
  3. 还有很多设想没有实现, 感觉还能优化一下;
  4. 管理太累, 没有太多时间写代码, 一天不写代码感觉就像什么事都没有做一样;
  5. 可以水几篇博客;
  6. 因为想着开源, 有碍于老东家的代码知识产权的问题, 只能重写一份;
  7. 自我感觉原来那套脚手架还是有可圈可点的地方, 想拿出来分享一下;

后面的系列博客会持续输出如何从 0 到 1 去开发一套自己的脚手架工程, 一是可以总结与巩固一下 Java 知识, 二是好好做一个自己的开源项目, 以此结实更多的 Javaer.

计划

第一步当然是为项目取一个名字了, 思考良久, 就叫: watt 吧, 不为别的, 好记单词少, 而且可以谐音 瓦特, 哈哈.

今天就到这里吧, 算是正式开始了.

给自己定几个小目标:

  1. 把 Github 上免费的服务用个遍, 学习一下用 Github 的其他操作, 虽然现在是一个人, 万一以后有人了呢;
  2. 把自己感兴趣的开源项目集成到这个脚手架里面, 统统玩个遍, 不管别人用不用得到, 只要我愿意, 我就玩;
  3. 给其他用到的开源项目找 bug, 刷刷存在感;
  4. 找 JetBrains 要个授权码玩玩, 免费用了这么多年, 还得是免费的香;

现在就把组织和第一个仓库创建了吧:

就问效率不效率 🥳