1、Spring Validation
Spring提供的一个参数校验框架,使用预定义的注解完成参数校验
步骤:
1、引入Spring Validation 起步依赖
<!-- validation依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
2、在参数前面添加@Pattern注解
3、在Controller类撒花姑娘添加@Validated注解
2、登录认证(防止用网址直接跳过登录界面)
jwt令牌
全程:JSON Web Token
组成:第一部分:Header(头) 记录令牌类型,签名算法等
第二部分:Payload(有效载荷) 携带一些自定义信息、默认信息等,但不能携带私密数据,如密码
第三部分: Signature(签名),防止Token被篡改,确保安全性。
注意事项:
- JWT校验时使用的签名秘钥,必须和生成JWT令牌时使用的秘钥是配套的
- 如果JWT令牌解析校验时报错,则说明JWT令牌被篡改或失效了。
3、第三方服务-通用思路
3.1、准备工作
注册登录,
充值,
开通对象存储服务(OSS),
创建bucket,
获取AccessKey(秘钥)
参照官方SDK编写入门程序,案例集成OSS
3.2、参照官方SDK编写入门程序
SDK:软件开发工具包,包括辅助软件开发的依赖(jar包)、代码示例等,都可以叫做SDK
3.3、集成使用
4、Redis
4.1、SpringBoot集成redis
4.2、令牌主动失效机制
- 登陆成功后,给浏览器响应令牌的同时,把该令牌存储到redis中
- LoginInterceptor拦截器中,需要验证浏览器携带的令牌,并同时需要获取到redis中存储的与之相同的令牌
5、SpringBoot项目部署
开发好的项目,在自己电脑上关掉后,仍然可以再别人的电脑上运行
打包生成jar包,导入打包插件:
适用于springboot2
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
适用于springboot3
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.1.3</version>
</plugin>
先停止IDEA中的项目运行,不然他会占端口
6、多环境配置(开发、测试、生产)
7、前端项目js导入导出
HTML:负责网页的结构(标签:form表单 / table表格 / a /div/span)
CSS:负责网页的表现(样式:color/font/background/width/height)
JavaScript:负责网页的行为(交互效果)
JS提供的导入导出机制,可以实现按需导入
问题
SpringBoot2和3的区别
SpringBoot2,在mapper层需要些@Param
,但是springboot3不需要加@param
全局异常处理器
在全局异常处理器中处理参数校验失败的异常
@NotNull和@NotEmpty
@NotNull:你不能不传
@NotEmpty :你必须传,如果是字符串,不能为空
分组校验
参数校验
自定义校验
已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验(自定义校验注解)
- 自定义注解State
- 自定义校验数据的类StateValidation实现ConstraintValidator接口
- 在需要校验的地方使用自定义注解