SpringBoot3 实战篇1拾遗

条目索引

条目正文

登录认证

令牌
545762ed440093ea76c3b17f87a258c11fc269f9

JWT
521ff2a36aab25f57d68fdb077896bab066efb78

引入依赖
af2b50c5d3c9b8f3c85e0e1d7957481150aa4669

工具类要static final定义一个签名,然后写两种方法,
生成token的方法需要包含id,name,过期时间和算法

解析token的方法需要包含token并且验证token

df06a4c5389ffeac68c10dac86f22645b4e80f7c

动态SQL语句

<where></where>

对于请求字段的限制

8a56f1b58eb63bc306b51ea91f00f2ea7b3178f9

70d984edd483a3c8d7c0553666a7ec2f1fa0f48c

cc3f6996be8fdc9e4dbeba725867468dab76d9d5

多环境开发 & 配置文件

d99711fe808bc89f8ed4dbad0b4b9c9f5ab47579

文件配置
1f7db902175816728f4151722a85b5700056624b

配置文件分组问题
a50e145d83166536f256e5360e78a793b6677636

d5af5c2cbe509d69c9bd8c97d18295a13a0da525

返回用户信息时隐藏密码

在实体类的相关字段上添加 @JsonIgnor

分页查询

84e9ebe19c8667f263b2edc49baf1253c4ead4d4

关于用户字段的限制

f8d289204aee6384f111d4fe5fd98ca8b0962bd6

获取用户详细的信息

ThreadLocal优化
9e6a0d25c2d83e259775645d74611ae6bdf8df6f

77eee3cc471988241be2d1934540efd1dc69fa93

一定别忘了threadlocal数据用完就要释放不然生命周期太长堆积会导致内存爆照
开始是从拦截器的preHandle , 结束是在拦截器的AfterHandle
97dbaab545d56ab90e4ed4f2121e3a01fa0e610d

添加文章分类时,获取当前线程的user

4f60cf0fd1a11983594ce63763c94ba01df53adf

由于我们在jwt令牌中添加到字段是id和username
获取的时候要用id和username当key!!!!!!!!!!!!

修改密码时接收

1
2
3
@RequestBody===>转化为实体类中的字段
@Valid ==>让实体类中的
@NotNull / @Email/ @NotEmpty/ @Pattern生效

96fdd5fe7553560dd1babd3361ebeaa32c1d6775

自定义校验

dff031133b9b79b58282fbbb5546ea888608ed6f

968d8ca9413d9f7cec72a19ee7b7075aa01cdac1

2bcf6cf61f903e30bec8fd0637b572baa0e6d428

02d3b488bb0bf4a3d06a7bdcd27696d42f0faf6d

5ca7479897d7372c1da77aaf3b9d55c3f941e54f

JsonIgnore

结果返回的时候差不多是一个类,
但是却不要几个字段
那么加上@JsonIgnore忽略掉

springboot部署

弄成jar包的插件

1b48d76b4745f55a5b469f9dd66d2a313bdac745

12abe12190608a4baeb29e11a5f24b2bce52471e

springboot属性配置

让jar包运行时能够配置属性,有以下四种方式

配置属性—>yml文件
650300319b3e09a76489f272efd98ba9c2ba095d

998b9bd634d91911efc236e584a7ae5ec05cc928

92303eb5735bdfb6d68d9884f911f097c249ebfa
842076fe54716239cd967d60728f1eb4e9d0a4b0
f065274925f24e87c451c2547a0d7e9280f14f37

d9912138283a7d8e1de2f411128a95bdce108c32
6d94048b277af86f0f413ddf08e45f6f4b80198f
ef599f7d9517af08d5bca5e71980d33572d67f6c
e2138edae34e39bc1f4290df451d138d58f5703e