最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个“框架”,其中虽然很多基础代码可以Copy,但也会浪费不少时间。
基于这个情况,我打算在GitHub上创建了一个公开库scaffold用来存放平时常用的脚手架项目。
脚手架仓库地址: https://github.com/majian159/scaffold
实现的脚手架有:
规划的脚手架有:
第一波因为项目需求先传了 基于 sb + mybatis 的脚手架,其实我个人更喜欢 sb + jpa + ddd 的脚手架,后续在整理出来。
这是一个基于 SpringBoot + MyBatis + MyBatis Generator 的脚手架项目。
脚手架默认实现了一个 department
RESTful API,用来演示。
scaffold ├── scaffold-api # REST API 模块 ├── scaffold-common # 公共代码模块 └── scaffold-mbg # MyBatis Generator 及生成的内容
使用 IDE 等工具进行批量全局替换。
ForkJoinPool.commonPool()
@EnableScheduling
@EnableSwagger2
这边只是简化了 generatorConfig.xml
的配置,如有个性化需求可直接修改 generatorConfig.xml
scaffold-mbg/src/main/resources/generator.properties
配置键 | 说明 | 默认值 |
---|---|---|
jdbc.driverClass | JDBC驱动类 | com.mysql.cj.jdbc.Driver |
jdbc.connectionURL | JDBC URL | jdbc:mysql://localhost/scaffold?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai |
jdbc.userId | 数据库用户名 | root |
jdbc.password | 数据库密码 | root |
common.basePackage | 基础的包名 | com.scaffold.springboot.mybatis.mbg |
common.basePath | 基础的路径 | scaffold-mbg |
scaffold-api/src/main/resources/application.yml
配置键 | 说明 | 默认值 |
---|---|---|
application.basePackage | 基础 package,用来简化项目改名后带来的负担 | com.scaffold.springboot.mybatis |
当 Controller 抛出 ServiceException
, ApiException
异常时会经由 Advice 自动包装成 ApiErrorViewModel
, 并返回对应的 HttpStatusCode.
这是一个高个人意愿的脚手架仓库,大家可以不用完全使用,只是参考部分内容,希望对大家有所帮助
脚手架仓库地址: https://github.com/majian159/scaffold
"阅读原文" 可直达 GitHub 库