Java
文章平均质量分 74
霸气的兔子
Talk is cheap. Show me the code.
展开
-
实现一个简单的OGNL解析器
对象导航图语言(Object Graph Navigation Language),简称,它是一种功能强大的表达式语言,经过它简单一致的表达式语法,能够存取对象的任意属性,调用对象的方法,遍历整个对象的结构图, 实现字段类型转化等功能。它使用统一的表达式去存取对象的属性。这样能够更方便直观的取得数据。原创 2023-12-02 13:40:05 · 516 阅读 · 0 评论 -
获取泛型参数实际类型的三种方式
获取泛型参数实际类型的三种方式,获取List泛型中的实际类型,获取Map泛型中的实际类型,获取泛型参数的实际类型原创 2023-07-09 22:32:47 · 2424 阅读 · 0 评论 -
Hibernate Validator 总结大全
hibernate validator 校验框架总结大全,包含简单对象校验、嵌套对象校验、自定义校验器、类级别的校验器、容器级别的校验器、分组校验GroupSequence、动态分组校验DefaultGroupSequenceProvider、包含EL表达式错误消息模板等内容,囊括大多数业务场景开发的校验案例。原创 2022-04-10 21:06:52 · 2304 阅读 · 0 评论 -
Lambda表达式秒用——SerializedLambda序列化
SerializedLambda详解, lambda表达式序列化, Mybatis-Plus之LambdaQueryWrapper原理原创 2021-08-01 15:53:42 · 4716 阅读 · 8 评论 -
MyBatis思维导图——知识点梳理
MyBatis思维导图,MyBatis知识点总结,Mybatis学习图,MyBatis知识点复习原创 2020-08-23 16:33:22 · 658 阅读 · 0 评论 -
问题记录——MybatisGenerator查询字段自动去空格问题
问题使用mybatis做数据插入时,字符前后的空格总是被自动去掉了,后来发现是 Mybatis Generator 生成的代码有问题,对于字符类型的字段,自动做了调用了 string.trim() 方法。解决修改 generatorConfiguration 配置文件,将generatorConfiguration -> javaModelGenerator中的trimStrings属性设置为false即可:<!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/Pro原创 2020-07-28 19:54:01 · 3118 阅读 · 0 评论 -
问题记录——正则表达式匹配控制符
问题前端用xterm.js通过websocket连接docker虚拟终端,返回的字符中包括如下字符串,其中有两个控制字符,“ESC"和"BEL” ,想通过正则表达式匹配这一段字符,然后去掉这段字符:参考文档控制字符编码表转义符对照表通过上面查询得知,"ESC"和"BEL"这两个控制符的ASCII码分别为:十进制为27和7,十六进制为0x1B和0x07,转义符分别为:\e和\a代码**注意:**直接使用ASCII码匹配是不行的,一定要用转义符才行。如下测试代码中,只有regex3才能匹原创 2020-07-28 14:55:36 · 1005 阅读 · 0 评论 -
java8集合Stream之reduce聚合函数——看这篇就够了
java8 集合 stream reduce 聚合 , java8 reduce 方法中第三个参数 combiner 作用 , BinaryOperator<U> combiner , BinaryOperator combiner , combiner , reduce(U identity, BiFunction<U, ? super T, U> accumulator, BinaryOperator<U> combiner) , lambda表达式原创 2020-06-11 14:25:44 · 22622 阅读 · 0 评论 -
如何优雅的替换掉代码中的ifelse
平时我们在写代码时,需要针对不同情况处理不同的业务逻辑,用得最多的就是if和else。 但是如果情况太多,就会出现一大堆的“if else”,这就是为什么很多遗留系统中,一个函数可能出现上千行的代码。当然你说可以通过抽取方法或者类来实现,每一个情况交给一个方法或者对应一个类来处理,但是这样做只是看起来代码整洁了一些,还是有大量的”if else",后面有新的逻辑时,又要添加更多的“if else",没有从根本上解决问题。原创 2020-04-30 15:06:39 · 50505 阅读 · 31 评论 -
ThreadLocal在线程池中被串用
问题分析在之前的文章中(文章连接如下):Mybatis拦截器结合ThreadLocal实现数据库updateTime等操作字段的更新我们用通过ThreadLocal来设置当前请求的登录用户信息,用于在DAO层记录数据库的操作人信息,流程如下:用户发起请求,需要进行登录校验的请求都会通过一个SecurityFilter的过滤器,而不需要登录校验的请求则不会经过这个过滤器;在Securit...原创 2019-11-15 21:56:14 · 1716 阅读 · 0 评论 -
java中ThreadLocal详解
什么是ThreadLocalThreadLocal是一个线程本地变量,如果同一个变量需要在多个线程中使用,并且在某个线程中改变这个变量的值,不影响其他线程中这个变量的值,那么我们需要为每一个线程拷贝一个该变量的副本,ThreadLocal就是实现了这个功能。我们知道变量是有作用域的,如局部变量、全局变量,局部变量只能在一个方法内或一段代码块之内可见(如for循环的计数变量i),全局变量在所有类...原创 2019-11-06 20:39:14 · 1076 阅读 · 0 评论 -
Mybatis拦截器结合ThreadLocal实现数据库updateTime等操作字段的更新
Mybatis拦截器可拦截的目标对象有四个(前面是可被拦截的对象,后面括号中是对象中可被拦截的方法)Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)ParameterHandler (getParameterObject, setParameters)S...原创 2019-08-23 18:10:06 · 2123 阅读 · 0 评论 -
mp3tag批量编辑
mp3标题批量编辑原创 2019-07-06 20:04:40 · 4697 阅读 · 0 评论