spring
文章平均质量分 82
小兔爷
记录一点自己的经历和过程
展开
-
Spring Security(六)—SpringSecurityFilterChain加载流程深度解析
SpringSecurityFilterChain 作为 SpringSecurity 的核心过滤器链在整个认证授权过程中起着举足轻重的地位,每个请求到来,都会经过该过滤器链,前文《Spring Security(四)–核心过滤器源码分析》 中我们分析了 SpringSecurityFilterChain 的构成,但还有很多疑问可能没有解开:这个 SpringSecurityFilterCha...转载 2018-07-25 22:24:20 · 22680 阅读 · 0 评论 -
Springboot编写servlet、filter、listener
1.原理Servlet 的三种方式。1、实现 Servlet 接口因为是实现 Servlet 接口,所以我们需要实现接口里的方法。下面我们也说明了 Servlet 的执行过程,也就是 Servlet 的生命周期。//Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程//一次创建,到处服务//一个Servlet只会有一个对象,服务所有的请求/*...转载 2018-07-22 15:10:17 · 321 阅读 · 0 评论 -
spring security oauth2 授权服务器负载均衡解决方案
1.引言本文所讲的内容是以spring security oauth2 与 spring cloud 为基础的,在微服务的构建中,将授权服务器注册在eureka上面。当客户端访问资源服务器的时候必须携带token进行认证和授权。如果我们在资源服务器上直接硬编码授权服务器地址,那么我们是不能够搭载高负载的授权服务器的,所以我们需要一个可以负载均衡的RestTemplate进行负载调用授权服务器。...原创 2018-10-19 20:06:44 · 4454 阅读 · 4 评论 -
spring security oauth2 自动刷新续签token (refresh token)
1.引言前提:了解spring security oauth2的大致流程(对过滤器的内容有一定的了解) 主要思路:首先用过期token访问受拦截资源 认证失败返回401的时候调用异常处理器 通过异常处理器结合refresh_token进行token的刷新 刷新成功则通过请求转发(request.getRequestDispatcher)的方式再次访问受拦截资源2.源码分析核心过滤器...原创 2018-10-20 14:56:38 · 61020 阅读 · 24 评论 -
Guns——AOP日志框架(一)
1.简单回顾AOP@Before 前置通知(Before advice) :在某连接点(JoinPoint)——核心代码(类或者方法)之前执行的通知,但这个通知不能阻止连接点前的执行。为啥不能阻止线程进入核心代码呢?因为@Before注解的方法入参不能传ProceedingJoinPoint,而只能传入JoinPoint。要知道从aop走到核心代码就是通过调用ProceedingJionPoi...原创 2018-11-13 20:39:01 · 1402 阅读 · 0 评论 -
Guns——AOP切换多数据源(二)
1.配置单数据源spring boot中首先配置好数据库连接信息spring: profiles: local datasource: url: jdbc:mysql://127.0.0.1:3306/guns?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTim...原创 2018-11-13 22:03:47 · 2616 阅读 · 1 评论 -
Guns——使用swagger生成api文档(三)
1.swagger介绍swagger是用来自动生成相应api文档的一个插件,使用简单。2.引入swagger依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>sp...原创 2018-11-14 09:14:25 · 2106 阅读 · 0 评论 -
Guns——使用全局异常拦截器(四)
1.什么是全局异常拦截器从实际使用来看,可以理解成是使用aop技术进行的环绕增强,在执行前可以将一些数据绑定到model或者屏蔽某些字段,在业务逻辑执行后可以执行业务是否有异常并且进行拦截2.一般使用场景较多的用处是用来做全局的异常处理,将某些不友好的信息稍微加工变成较为友好的信息输出3.开始使用全局异常拦截器实现使用@ControllerAdvice声明一个建言 使用@Exc...原创 2018-11-14 09:43:24 · 2022 阅读 · 0 评论 -
Guns——使用Mybatis-plus的分页插件(五)
1.介绍常规分页方法物理分页: 物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。 逻辑分页:逻辑分页依赖的是程序员编写的代码。数据库返回的不是分页结果,而是全部数据,然后再由程序员通过代码获取分页数据,常用的操作是一次性从数据库中查询出全部数据并存储到List集合中,...原创 2018-11-14 12:21:31 · 3657 阅读 · 1 评论