一、课程介绍
【课程名称】SpringBoot 2.x 实战仿B站高性能后端项目。
【章节】第三章3.4、3.5、3.6通用功能与设置
【讲师】HELLOSTAR
二、课程内容
1.加解密工具类:
前置依赖:commons-codec
AES:对称加密算法,加密和解密使用同样的密钥,加密结果可逆。
加密安全性不高,加密速度快。
RSC加密:非对称加密,有公钥和私钥,公钥用于数据加密,私钥用于数据解密。加密结果可逆。
加密安全性高,加密速度慢。
MD5加密:单向加密算法。加密结果不可逆。
加密速度快,不需要密钥,安全性高,搭配随机盐值使用。
2.json接口工具类:
json处理依赖:FastJson
工具类参数:
code: 返回状态码
msg:返回信息
T data:返回数据
定义不同的成功失败状态的初始化调用方法和通用方法
public static JsonResponse<String> success(){ return new JsonResponse<>("200",null); } public static JsonResponse<String> success(String data){ return new JsonResponse<>(data); } public static JsonResponse<String> fail(){ return new JsonResponse<>("500", "失败"); }
3.全局异常处理
全局通用异常处理器类
@ControllerAdvice @Order(Ordered.HIGHEST_PRECEDENCE) public class CommonGlobalExceptionHandler { @ExceptionHandler(value = Exception.class) @ResponseBody public JsonResponse<String> commonExceptionHandler(HttpServletRequest request, Exception e){ String errorMsg = e.getMessage(); if(e instanceof ConditionException){ String errorCode = ((ConditionException)e).getCode(); return new JsonResponse<>(errorCode, errorMsg); }else{ return new JsonResponse<>("500",errorMsg); } } }
自定义异常类
public class ConditionException extends RuntimeException{ private static final long serialVersionUID = 1L; private String code; public ConditionException(String code, String name){ super(name); this.code = code; } public ConditionException(String name){ super(name); code = "500"; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } }
4.其他
spring注解
@Configuration
作用于类上面,告诉spring当前类是作为配置文件使用的,相当于Spring中的xml配置文件。
@Bean
配置类里面使用@Bean注解,表示该对象被注册为在 Spring 容器中的 bean,带有 @Bean 的注解方法将返回一个对象,并默认是单实例的 。
@Configuration和@Bean通常是一起使用的。目的是将bean注解的方法对应的类交给Spring容器管理。
@Configuration public class BeanConfig { /** * 向容器中注册一个Bean,类型为返回值类型,id默认为方法名称 * @return */ @Bean public Student getStu() { return new Student("jack",19); } }
@Primary
使用@Primary标注的实现类Bean可以被优先获取。
三、课程收获
项目通用的工具类和依赖确实是方便开发,而且是随拿随用。包括一些常用的工具包。都是需要多多收藏和使用的。好的工具能加快效率。最后来一句。骑砍yyds!
四、学习过程