MCPcopy Index your code
hub / github.com/WongMinHo/spring-boot-api-starter

github.com/WongMinHo/spring-boot-api-starter @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
76 symbols 177 edges 35 files 52 documented · 68%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Spring-Boot-Api-Starter

spring boot version spring-boot-api-starter releases

简介

Spring-Boot-Api-Starter 是一个基于SpringBoot,快速构建RESTful API工程的脚手架,支持多数据源配置、分布式事务;快速生成各模块的基础代码,极大的提升了开发效率,使团队代码风格保持统一。

特征

  • 集成 Spring Boot 常用开发组件集
  • 集成 Mybatis Plus、Mybatis Plus Generator组件;实现单表业务零SQL
  • 集成 Atomikos 支持分布式事务、以及支持多数据源配置
  • 统一异常处理
  • 统一响应结果封装
  • 基于 JWT 实现基于 Token 的鉴权机制
  • 使用 Druid Spring Boot Starter 集成 Druid 数据库连接池与监控
  • 使用 AutoGenerator 快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率,使团队代码风格保持统一

项目环境

中间件 版本 备注
JDK 1.8+ JDK1.8及以上
MySQL 5.6+ 5.6及以上,如果使用Druid的分布式驱动,暂不支持8.0+

技术选型

技术 版本 备注
Spring Boot 2.1.9.RELEASE 最新发布稳定版
Mybatis 3.5.2 持久层框架
Mybatis Plus 3.2.0 Mybatis增强框架
Mybatis Plus Generator 3.2.0 MyBatis-Plus 的代码生成器
Jta-Atomikos 2.1.9.RELEASE 分布式事务管理
Alibaba Druid 1.1.20 数据源
FastJson 1.2.60 JSON处理工具集
commons-lang3 3.9 常用工具包
jwt 0.9.1 json web token
lombok 1.18.10 注解生成Java Bean等工具

快速开始

  1. 克隆项目:git clone https://github.com/WongMinHo/spring-boot-api-starter.git
  2. 构建数据库,多数据源可以先创建两个数据库
  3. test包内的代码生成器MysqlFirstGeneratorMysqlSecondGenerator进行配置,修改对应的连接地址、包目录、作者等
  4. 输入表名,运行代码生成器,生成基础目录和代码结构,根据业务在基础代码上进行扩展
  5. 修改本地环境配置文件application-local.yml,启动项目

开发建议

  • 开发规范可以参考阿里巴巴Java开发手册(最新版下载)
  • 公司内部可以把统一异常处理、统一响应结果、鉴权工具类等公共模块封装打包;项目需要用到时,引入工具包。
  • API文档可以使用:Swagger2ShowDoc

相关技术文档

License

开源分享,感谢支持 Star & Fork

Extension points exported contracts — how you extend this code

CustomerService (Interface)
服务类 @author MinHow @since 2019-10-05 [3 implementers]
src/main/java/com/minhow/springbootapistarter/service/second/CustomerService.java
UserService (Interface)
服务类 @author MinHow @since 2019-10-05 [3 implementers]
src/main/java/com/minhow/springbootapistarter/service/first/UserService.java
CustomerMapper (Interface)
Mapper 接口 @author MinHow @since 2019-10-05
src/main/java/com/minhow/springbootapistarter/dao/second/mapper/CustomerMapper.java
UserMapper (Interface)
Mapper 接口 @author MinHow @since 2019-10-05
src/main/java/com/minhow/springbootapistarter/dao/first/mapper/UserMapper.java

Core symbols most depended-on inside this repo

fail
called by 6
src/main/java/com/minhow/springbootapistarter/common/response/Result.java
createJWT
called by 2
src/main/java/com/minhow/springbootapistarter/common/utils/JWTUtil.java
getJWTData
called by 2
src/main/java/com/minhow/springbootapistarter/common/utils/JWTUtil.java
ok
called by 2
src/main/java/com/minhow/springbootapistarter/common/response/Result.java
store
called by 1
src/main/java/com/minhow/springbootapistarter/service/second/CustomerService.java
login
called by 1
src/main/java/com/minhow/springbootapistarter/service/first/UserService.java
verify
called by 1
src/main/java/com/minhow/springbootapistarter/common/utils/JWTUtil.java
tokenInterceptor
called by 1
src/main/java/com/minhow/springbootapistarter/config/WebConfiguration.java

Shape

Method 41
Class 30
Interface 4
Enum 1

Languages

Java100%

Modules by API surface

src/main/java/com/minhow/springbootapistarter/common/utils/JWTUtil.java5 symbols
src/main/java/com/minhow/springbootapistarter/common/exception/GlobalExceptionHandler.java5 symbols
src/test/java/com/minhow/springbootapistarter/generator/MysqlSecondGenerator.java4 symbols
src/test/java/com/minhow/springbootapistarter/generator/MysqlFirstGenerator.java4 symbols
src/main/java/com/minhow/springbootapistarter/config/datasource/TransactionManagerConfig.java4 symbols
src/main/java/com/minhow/springbootapistarter/common/response/Result.java4 symbols
src/main/java/com/minhow/springbootapistarter/config/datasource/SecondDataSourceConfiguration.java3 symbols
src/main/java/com/minhow/springbootapistarter/config/datasource/FirstDataSourceConfiguration.java3 symbols
src/main/java/com/minhow/springbootapistarter/config/WebConfiguration.java3 symbols
src/test/java/com/minhow/springbootapistarter/SpringBootApiStarterApplicationTests.java2 symbols
src/main/java/com/minhow/springbootapistarter/web/controller/second/CustomerController.java2 symbols
src/main/java/com/minhow/springbootapistarter/web/controller/first/UserController.java2 symbols

Datastores touched

(mysql)Database · 1 repos
minhow_firstDatabase · 1 repos
minhow_secondDatabase · 1 repos

For agents

$ claude mcp add spring-boot-api-starter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact