SpringSeuciryOAuth2自定义异常

在使用 SpringSecurityOAuth2 中,用户名或密码失败可以使用 InvalidGrantException 来捕获,账户禁用等异常可以使用 InternalAuthenticationServiceException 来捕获,但是客户端认证失败(无效的凭据)无法使用全局异常处理器来捕获,因为是发生在 filter ,此时还没有到 DispatcherServlet 请求处理流程上,我们可以查看源码进行分析,找到对应的解决方案


Spring事务介绍

Spring 事务可以简化对常规事务的一些操作,比如获取连接、关闭连接、事务提交和回滚等,在使用 Spring 事务时,有一个非常重要的概念就是事务属性,事务属性通常由事务的传播行为、隔离级别、超时时间和只读标志组成


自定义注解实现枚举校验

在项目开发中经常会遇到使用枚举值校验的功能,而使用 validation 自带的校验功能较为单一,为了简化开发,需要一个自定义的枚举校验器


Spring AOP

AOP 即面向切面编程(Aspect Oriented Program),可以说是面向对象编程的补充,它提供一种“横切”的技术,将影响了多个类的公共行为封装到一个可重用模块,并将其命名为切面(Aspect),AOP 把软件系统分为两个部分:核心关注点和横切关注点,业务处理的主要流程就是核心关注点,而横切关注点就是核心关注点里的一些公共行为,比如权限认证、日志、事物等


LocalDateTime格式化

在 SpringBoot 中使用 spring.jackson.date-format 只会对 Date 类型进行格式化,而使用 @JsonFormat 和 @DataTimeFormat 只能针对单个属性进行格式化,比较麻烦,所以需要一个全局的格式化


系统输出重定向到SLF4J

由于项目所依赖的 jar 包使用 System.out 进行输出日志,对于排查问题并不方便,所以需要将日志重定向到 logback