手记

【九月打卡】第3天 通用工具和功能

一、课程介绍

【课程名称】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!


四、学习过程

 


    







0人推荐
随时随地看视频
慕课网APP