Spring Boot搭建Web服务脚手架

Spring Boot是Java开发时常用框架,丰富的组件和易用的功能。Web服务脚手架从实际项目中整理升华,可直接扩展开发并应用于真实生产场景。

 

开源代码:https://github.com/jextop

 

开发环境

版本

功能

Java 8


开发语言,Jdk8或者更新版本。


在线课程掌握Java注解使用技巧,让代码简洁高效

 

博客:

阿里Java开发手册(学习总结)

阿里Java高效代码50例(学习总结)

阿里Java高效代码50例

StringBuilder和StringBuffer的3个区别,说得清吗?

1张表记住Java基本数据类型(8个)

Java开发者路线图,1张表总结

分类整理Java注解,详细列表

IntelliJ IDEA


集成开发环境,Eclipse也被广泛使用

插件:阿里Java代码规范,P3C插件使用文档

Maven


依赖库管理

Git


代码管理,GitHub,Gitee,AliCode等

博客:Git分支和标签,如何发挥作用?

MySQL

5.7.18

数据库

Redis

3.2

缓存

ActiveMQ

5.15.11

消息队列,也可使用RabbitMQ,RocketMQ

ElasticSearch

7.5.1

日志管理和查询,ELK套件,配合Kibana使用

Postman

7.13.0

调用调试API

在线课程赋能API测试和集成,Postman可以这样用?

 

功能组件

版本

要点

Spring Boot

2.2.2.RELEASE

基础框架

博客:

Spring项目启动时,ApplicationRunner和CommandLineRunner的用法

Spring Boot常用脚手架,详细列表

1张表记住11个注解,Java读取HTTP Request参数

1张图理解Spring Boot最核心的3个注解

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/

博客:

容器编排、镜像服务和代码托管的选择

借用阿里云容器镜像服务,实现Docker自动构建

Terraform资源编排

使用阿里云ROS服务https://rosnext.console.aliyun.com/

 

脚手架

功能/接口

要点

调用控制

@AccessLimited

自定义注解,控制REST接口访问频率

博客:使用注解和Redis,控制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/

 

上一篇:linux – Docker History Base Image添加:sha256hash


下一篇:Docker镜像