网站Logo Ilren 小记
Home
Java
Docker
Links
About
登录

SpringBoot使用ThreadLocal线程上下文传递数据

最近在开发项目时需要在拦截器中请求认证服务判断token的有效性并获取用户信息,但是拿到用户信息后需要传递给Controller层或者Service层去使用。一开始想到了使用header和session传递用户信息,但是感觉不是很优雅,有点low,最后想到了使用ThreadLocal多线程上下文传递

2020-08-11
6
0
Java
SpringBoot

SpringBoot+@Valid参数校验+统一异常处理

 我们在项目开发过程中controller层方法入参检验中存在一个问题,就是会对参数进行校验。以往我们就会写大量的if else 来对参数进行判断,但是大量的入参校验也使得代码十分的不友好!所以本文主要介绍了在SpringBoot中@Valid参数校验及参数错误的统一异常处理。 开发环境 Java版

2020-01-10
8
0
Java
SpringBoot

JVM-类加载器与双亲委派

类加载器 类加载器负责加载所有的类,其为所有被载入内存中的类生成一个java.lang.Class实例对象。一旦一个类被加载如JVM中,同一个类就不会被再次载入了。正如一个对象有一个唯一的标识一样,一个载入JVM的类也有一个唯一的标识。在Java中,一个类用其全限定类名(包括包名和类名)作为标识;但

2019-05-09
11
0
Java
JVM

JVM-类加载的时机

类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中验证、准备

2019-05-08
4
0
Java
JVM

JVM-类加载的过程

Java虚拟机中类加载的全过程,也就是加载、验证、准备、解析和初始化这5个阶段所执行的具体动作,如下图。 1.加载(Loading) “加载”是类加载过程中的第一个阶段,在加载阶段,虚拟机需要完成以下3件事情: 通过一个类的全限定名来获取定义此类的二进制字节流。 将这个字节流所代表的静态存储结构转化

2019-05-08
4
0
Java
JVM

Java实现多线程的创建

2019-05-05
4
0
Java

Java线程的6种状态

线程的6种状态 从Java源码(java.lang.Thread)中我们可以得知Java线程有6种状态。 java.lang.Thread中线程状态源码: /** * A thread state. A thread can be in one of the following

2019-05-02
5
0
Java
1 2 3