Spring Boot是Java开发时常用框架,丰富的组件和易用的功能。Web服务脚手架从实际项目中整理升华,可直接扩展开发并应用于真实生产场景。
开源代码:https://github.com/jextop
开发环境 | 版本 | 功能 |
Java 8 | 开发语言,Jdk8或者更新版本。 在线课程:掌握Java注解使用技巧,让代码简洁高效
博客: | |
IntelliJ IDEA | 集成开发环境,Eclipse也被广泛使用 | |
Maven | 依赖库管理 | |
Git | 代码管理,GitHub,Gitee,AliCode等 | |
MySQL | 5.7.18 | 数据库 |
Redis | 3.2 | 缓存 |
ActiveMQ | 5.15.11 | 消息队列,也可使用RabbitMQ,RocketMQ |
ElasticSearch | 7.5.1 | 日志管理和查询,ELK套件,配合Kibana使用 |
Postman | 7.13.0 | 调试API |
功能组件 | 版本 | 要点 |
Spring Boot | 2.2.2.RELEASE | 基础框架 博客: l Spring项目启动时,ApplicationRunner和CommandLineRunner的用法 |
Apache Shiro | 1.4.0 | 鉴权授权 |
Jwt | 0.9.1 | Token鉴权 |
Flyway | 6.0.8 | 数据库版本管理 |
Ali Druid | 1.1.20 | 数据库连接池 |
MyBatis | 3.5.3 | 数据库持久层 |
MyBatis Plus | 3.3.0 | 扩展MyBatis,含代码生成工具Generator:生成Entity,Mapper |
Quartz | 2.3.2 | 异步任务调度 |
fastjson | 1.2.60 | JSON数据处理 |
Apache Commons | 开发工具包,lang,collections,codec,io | |
HTTP Components | 网络工具包,httpclient, httpcore, httpmime | |
slf4j | 1.7.29 | 日志处理,配合ELK。也常使用log4j, logback |
JUnit Jupter | 5.5.2 | 单元测试 |
Mockito | 3.1.0 | 模拟测试环境,配合JUnit使用 |
Lombok | 1.18.10 | 简化代码,由于对代码侵入程度较大,谨慎使用 |
Swagger-UI | 2.6.1 | API文档,可直接调用接口。也常用JavaDoc |
Actuator | 服务监控,配合图形化展示工具,比如Prometheus + Grafana |
部署发布 | 要点 |
Docker容器 | 镜像托管使用Ali容器镜像服务https://cr.console.aliyun.com/ 博客: |
Terraform资源编排 | 使用阿里云ROS服务https://rosnext.console.aliyun.com/ |
脚手架 | 功能/接口 | 要点 |
调用控制 | @AccessLimited | 自定义注解,控制REST接口访问频率 |
@AuthRequired | 生成access_token,授权接口访问 | |
@UserRequired | 配合Shiro,控制用户角色和授权 | |
服务监控 | chk/http | 检查服务HTTP连接外网 |
chk/db | 检查MySQL数据库连接操作 | |
chk/cache | 检查Redis缓存连接操作 | |
chk/mq | 检查ActiveMQ消息队列 | |
chk/job | 检查Quartz任务调度 | |
chk/json | 检查JSON数据处理 | |
文件上传下载 | file/upload | 支持多个文件上传 |
file/download | 文件下载 | |
Jext技术社区 | jext/info | 社区信息接口,返回在线课程和博客信息 |
管理后台 | 功能 |
JavaScript | 开发语言,ES2015+ |
VS Code | 集成开发环境,也常使用WebStorm, Sublime等 |
node | npm包管理工具 |
Ant Design Pro v4 | 基于Ant Design, React, UmiJS等,https://pro.ant.design/ |