Hcy Blog

保持激情,只有激情,才有动力

springboot注册拦截器不生效

springboot注册拦截器不生效​ 通常注册filter是向下面这样注册的,但是如果使用lambda又没有写filter名字就会导致后面的不生效,因为注册时是按照名字作为key存入map里面的,如果已经注册后面同名的就会忽略。如果没有给名字,名字就是filter的类名,而lambda的类型是object类,所以是同名的。11121314151617181920212223242526272829...

idea好用插件推荐

idea好用插件推荐下面是一些我经常用到,好用的idea插件。FreeMybatisPuls 免费 可以生成 xml 和 mapper 的映射提示 内置mybatis生成器 但是 好久不更新了,生成器的部分功能不能用了,但仍然不影响使用GenerateAllSet按下alt + enter键,一键生成类的所有set方法,再也不用担心输入错误或漏掉了。Lombok神器,好用,但别滥用GsonFormat按alt + s快捷键,根...

保龄球计分算法

保龄球计分算法题目描述:​ 保龄球前面个会摆放10个球瓶,计分规则如下:​ 如果第一球就把全部的球瓶击倒,所得的分数是10分再加下两球的倒瓶数;如果第一球没有全部击倒,就要再打一次,如果两次能把全部球瓶击倒,则分数是10分再加下一球的倒瓶数;如果两次加一块没有击倒全部球数,则分值为两次的倒瓶数和。​ 请你写一个记分牌程序,统计每次的得分。​ 可以参考下保龄球-百度百科介绍的计分规则部分,题目和真实场景下是相同的。 保龄球项目是根据运动员投球所击倒的球瓶数...

mysql事务隔离与原理

mysql事务隔离与原理事务遇到的问题数据库的隔离级别会遇到下面三个问题,分别是脏读,不可重复读,幻读。脏读:​ 事务A读取到事务B尚未提交的数据,这是不能接受的,如果事务B后面回滚了,事务A就相当于读取到了不存在的脏数据。不可重复读:​ 指事务A读取一条数据 “name=张三”,然后事务B修改了该条数据“update name=李四”并提交,事务A再次读取时发现name被修改了。这在有些情况下是能接受的,有些情况下是不能接收的,要根据业务需求来。幻读:...

springCloudLoadbalance源码解读

springCloudLoadbalance源码解读​ 本文讲解spring-cloud-loadbalance这个包,这个包提供了微服务下的负载均衡功能。要想使用负载均衡前提是必须拥有注册中心,同一个名字的服务在注册中心上存在多个实例,这是就需要负载均衡来实现对多个实例的均衡请求。​ 类比一下dns系统,一个域名在dns上可能存在多个ip地址,这就相当于同一个微服务模块在注册中心上存在多个实例,我们进行dns查询后获取到的多个ip地址,我们会选择其中一个进行连接,具体如何选择...

spring事务和事务传播

spring事务和事务传播1.原生的事务控制是这样的​ 原生的事务是这样使用的,需要将连接设为非自动提交,执行完sql语句后,可以选择提交或者回滚。11public void test() throws SQLException { Connection connection = dataSource.getConnection(); try { connection.setAutoCommit(fa...

springGateway配置需要注意的点

springGateway配置需要注意的点1. 超时时间​ springGateway使用的是WebFlux里面的WebClient来执行请求,WebClient有一些超时时间需要配置,默认的可能不太合适。#默认连接时间,默认45秒,太长了可以在此配置spring.cloud.gateway.httpclient.connect-timeout=#响应读取时间,默认不设置超时时间,可以在此设置spring.cloud.gateway.http...

springGateway常见类分析

springGateway常见类分析​ 本文将springGateway的重要类提出来,从宏观角度理解下这个框架。1.HttpHandler​ 底层reactor将netty解析好的request封装成request,response交给此类处理。这是最原始的处理请求的接口,最接近底层netty的。public interface HttpHandler { Mono<Void> handle(ServerHttpRequest request,...

springboot 如何正确配置springmvc

springboot 如何正确配置springmvc​​ 虽然Springboot是开箱即用的,使用Springmvc也是十分简单,但是如何配置才是最好的呢?,看到很多人多它的用法不了解,本文讲一下它的用法。将它之前,我们先了解下什么是Springmvc。​ Springmvc是基于servlet体系的开发框架,他由DispatcherServlet拦截请求,根据请求路径使用handlerMapper查找到能执行请求的handler,再由handlerAdapter执行h...

springSecurity配置jwt

springSecurity配置jwt​ 在分布式项目下,同一个项目后端可能部署多次,通过负载均衡分配到每个实例上,传统的Session是每个实例独有的,在一个实例上登陆后,其他实例并不知道登录状态。要想解决此问题,有以下几种办法,下面进行分析。前端部分​ 首先前端能存储数据的方式有两种,一种是前端通过localstorage主动存储数据,在发送请求时主动携带。另一种是后端将数据放入Cookie中,前端发起请求时浏览器自动携带。对于后端来说,这两种方式并没有本质上的区别...