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/ |