Hcy Blog

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

RequestBodyAdvice ResponseBodyAdvice

RequestBodyAdvice ResponseBodyAdvice增强类RequestBodyAdvice类和ResponseBodyAdvice是spring提供的接口,它可以在请求参数解析前,和响应输出前对controller的返回值进行拦截,替换。先看RequestBodyAdvice的Api,它可以在从流中读取参数前,读取参数后进行拦截11121314151617public interface Reque...

抽象内内部的静态类会被扫描到吗

1.抽象类内部的静态内部类会被spring扫描到吗?如下面的例子,B会被spring扫描到吗?public abstract class A { @Component public static class B{ }}答案是会的因为静态内部类在编译完成后会产生两个文件,spring扫描时是按照文件扫描的,所以写在抽象类内部的静态类会被扫描到。可以把静态内部类当成一个独立的类看待,和外部类没什么...

ControllerAdvice参数的作用

本文讲一讲ControllerAdvice注解的讲解首先看注解的定义1112131415161718@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface ControllerAdvice { @AliasFor("basePackages") String[] valu...

vscode按照字母顺序排序

vscode按照字母顺序排序接收到json文件,想找到某个字段不好找,所以需要排序下。 选中想要排序的行, ctrl + shift + p 选择按照降序排序

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...