摘要: 对于异常处理由全局异常处理的拦截类实现 全局异常拦截类实现: 拦截类上被RestControllerAdvice注解标注代表当前类是一个ControllerAdvice,同时类中的方法上有ExceptionHandler注解,注解的value值代表当前方法所处理的异常类型,当前拦截类中的方法个数和这 阅读全文
posted @ 2024-02-16 15:09 leviH 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 请求进入:filter -> interceptor ->controllerAdvice -> aspect -> controller响应返回:controller -> aspect -> controllerAdvice -> interceptor -> filter 场景: 1、全局日志 阅读全文
posted @ 2024-02-16 15:08 leviH 阅读(6) 评论(0) 推荐(0) 编辑
摘要: String.concat 对String字符串进行拼接的方法,我们通常用的“+”拼接字符串,效率相比concat更低,其内部实现方式类似于new StringBuilder().append,每次拼接都会创建一个StringBuilder对象。 concat方法的核心逻辑:创建长度为str.len 阅读全文
posted @ 2024-02-16 15:07 leviH 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ThreadPoolTaskExecutor是Spring框架的线程池,实现方式如下: 1 //声明一个name为asyncTaskExecutor的线程池bean到容器中 2 @Bean("asyncTaskExecutor") 3 public Executor getAsyncExecutor 阅读全文
posted @ 2024-02-16 15:03 leviH 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Thread: Thread类中有两个变量threadLocals和inheritableThreadLocals,两者都是ThreadLocal.ThreadLocalMap类型,默认情况下为null,对应源码为 1 ThreadLocal.ThreadLocalMap threadLocals 阅读全文
posted @ 2024-02-16 15:02 leviH 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 1、Spring初始化bean的过程(bean的生命周期) 1. Spring扫描class文件得到beanDefinition2. BeanDefinition首先根据class的构造方法反射得到一个对象(如果反射无法获取对象,则根据工厂方法生成)3. 实现属性的依赖注入4. 如果实现了BeanN 阅读全文
posted @ 2024-02-16 14:57 leviH 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 1、问题描述 链路框架底层为jaegertracing,行内的北斗链路是对这个jaegertracing进行了一层包装框架中使用自定义注解@RvcAsync来执行异步任务,RvcAsync注解核心逻辑为使用CompletableFuture.runAsync()方法执行多线程任务,传入的第二个参数a 阅读全文
posted @ 2024-02-16 14:55 leviH 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 在apache的lang3包中有个StringUtils工具类,该工具类为开发中常用的字符串处理工具类 非空判断,isBlank和isEmpty 这俩方法的形参都是charSequence字符序列。isEmpty判断这个字符序列是否为null,还有长度是否为0,如果是,则返回true,反之返回fal 阅读全文
posted @ 2024-02-16 14:51 leviH 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 1、field注入(字段注入) 1 @Controller 2 public class FooController { 3 @Autowired 4 private FooService fooService; 5 6 //简单的使用例子,下同 7 public List<Foo> listFoo 阅读全文
posted @ 2024-02-16 14:49 leviH 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1.@JsonInclude当使用json进行序列化时,往往会遇到某个实体对象的属性为null,可以使用如下类注解使得属性值为null的时候Java Bean不参与序列化可以作用在类上,也可以作用在字段上@JsonInclude(JsonInclude.Include.NON_NULL) 其他常量值 阅读全文
posted @ 2024-02-16 14:46 leviH 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 实现TreeMap后默认为key升序排序,如果要实现key其他排序规则,可以使用Comparator对象作为参数,前提是key为可以排序的类型(String,int等类型) 1 Map<String,People> map = new TreeMap<>(new Comparator<String> 阅读全文
posted @ 2024-02-16 14:45 leviH 阅读(31) 评论(0) 推荐(0) 编辑
摘要: spring获取bean容器管理的实例常用方式有两种。 1. 使用注解注入,@Autowired和@Resource@Autowired推荐使用构造函数的方式注入,可被@RequiredArgsConstructor代替@Resource在接口的实现类有多个的时候使用,指定name=实现类名来注入指 阅读全文
posted @ 2024-02-16 14:44 leviH 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 在对对象进行jackson序列化的时候,有时候会出现序列化后的变量名称大小写错误的情况。测试的实体类TestEntity2如下: public class TestEntity2 { private String aBcd; private String qWER; private String q 阅读全文
posted @ 2024-02-16 14:42 leviH 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 注解源码如下 1 @Target(ElementType.METHOD) 2 @Retention(RetensionPolicy.RUNTIME) 3 @Documented 4 public @interface RvcCache{ 5 Strng key(); 6 String id() de 阅读全文
posted @ 2024-02-16 14:40 leviH 阅读(16) 评论(0) 推荐(0) 编辑