2021
02-21
02-21
详解Java后端优雅验证参数合法性
1、首先创建一个测试实体类Person,并携带如上注解,其注解的作用描述在messagepackagecom.clickpaas.pojo;importcom.fasterxml.jackson.annotation.JsonFormat;importlombok.Data;importorg.hibernate.validator.constraints.Length;importorg.hibernate.validator.constraints.Range;importjavax.validation.constraints.*;importjava.math.BigDecimal;importjava.util.Date;importjava.util.List;/***@author方延杰...
继续阅读 >
过滤器、监听器、拦截器概念概念1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,可以动态生成web页面它工作在客户端请求与服务器响应的中间层;2、filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求,响应和头信息。它不能产生一个请求或者响应,它只是修改对某一资源的请求或者响应;3、listener:监听器,通过listener可以坚挺web服务器中某一执行动作,并根据其要求作出相应...
说明:做项目中遇到一种场景,需要根据查询时间段,获取时间段中中每个月份对应的金额(费用统计)。如截图中的两列因为列是动态的,首先想到的就是后天拼接JSON格式字符串,然后返回到前台,组装表头及内容。但是当前系统中easyUI版本为1.2,并不支持data属性(官方从1.3.2开始支持)。所以只能返回list<T>格式。网上一搜相关代码很多,看客可以自己搜索一下。我这里记录一下我当时使用场景及用法,已备以后使用。1.需要引用c...
类加载机制java类从被加载到JVM到卸载出JVM,整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(using)、和卸载(Unloading)七个阶段。其中验证、准备和解析三个部分统称为连接(Linking)。1、加载加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的...
1、CountDownLatch:一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。2、ThreadPoolExecutor/ExecutorService:线程池,使用线程池可以复用线程,降低频繁创建线程造成的性能消耗,同时对线程的创建、启动、停止、销毁等操作更简便。3、使用场景举例:年末公司组织团建,要求每一位员工周六上午8点到公司门口集合,统一乘坐公司所租大巴前往目的地。在这个案例中,公司作为主线程,员工作为子线...
输出内容-LoggingEvent提到日志框架,最容易想到的核心功能,那就是输出日志了。那么对于一行日志内容来说,应该至少包含以下几个信息:日志时间戳线程信息日志名称(一般是全类名)日志级别日志主体(需要输出的内容,比如info(str))为了方便的管理输出内容,现在需要创建一个输出内容的类来封装这些信息:publicclassLoggingEvent{publiclongtimestamp;//日志时间戳privateintlevel;//日志级别private...
首先项目A,也就是SpringBOOT项目中使用redisTemplate来做REDIS的缓存时,你会发现存到REDIS里边的KEY和VALUE,redisTemplat使用jdkSerializeable存储二进制字节编码项目B中使用jedis时,存储起来的是字符串,导致项目A要调用项目缓存的键值对时,获取不到解决方案:修改项目A的redisTemplate的序列方式@Configuration@EnableCachingpublicclassRedisConfigextendsCachingConfigurerSupport{/***redis模板,存储关键...