java
文章平均质量分 79
怪力乌龟
一物不知,深以为耻,便求知若渴。我会在学习过程中,将一些笔记和心得分享。
展开
-
详解优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器
Spring中的ThreadPoolTaskExecutor是借助于JDK并发包中的java.util.concurrent.ThreadPoolExecutor来实现的原创 2024-03-16 20:49:49 · 2113 阅读 · 0 评论 -
解决:InheritableThreadLocal与线程池共用的问题
InheritableThreadLocal 是 ThreadLocal 的一个子类,它不但继承了ThreadLocal的所有特性,父线程中的 InheritableThreadLocal 变量的值可以被子线程继承。原创 2024-03-16 18:40:28 · 1776 阅读 · 0 评论 -
InheritableThreadLocal和ThreadLocal的区别和使用场景
快人快语,先说结论,InheritableThreadLocal 是 ThreadLocal 的一个子类,它包含ThreadLocal 的所有功能并且扩展了 ThreadLocal 的功能,允许父线程中的 InheritableThreadLocal 变量的值被子线程继承。这意味着,当创建一个新的线程时,这个新线程可以访问其父线程中 InheritableThreadLocal 变量的值。原创 2024-03-15 20:40:46 · 1217 阅读 · 0 评论 -
这样用线程池才优雅-企业级线程池示例
企业级线程池定义示例,拿走直接用原创 2024-03-12 10:30:00 · 938 阅读 · 0 评论 -
这样写脱敏工具方法类才优雅-利用枚举和注解优雅脱敏
优雅的实现报文脱敏原创 2024-03-12 09:30:00 · 1142 阅读 · 0 评论 -
SpringBoot+HibernateValidator优雅的接口入参校验(代码实例)
SpringBoot+HibernateValidator优雅的接口入参校验(代码实例)原创 2022-03-28 20:56:51 · 462 阅读 · 0 评论 -
使用Spring AOP实现方法入参日志打印/请求响应日志打印
在实际的项目中对外暴露的接口通常需要打印请求日志,以下就是使用切面做一个请求日志打印的功能:首先先导入AOP相关的包,SpringBoot的项目启动类需要添加@EnableAspectJAutoProxy 注解<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></de原创 2021-11-28 18:43:46 · 1062 阅读 · 0 评论 -
解决:同一个类中方法调用,导致@Transactional失效(AopContext.currentProxy())
我前面有一个文章讲了当调用本类方法时,被调用方法的@Transactional注解会失效,所以建议大家用编程式事务。Spring/SpringBoot实现编程式事务然而今天,自己推翻我自己,分享一个怎么在调用当前类带有事务注解的方法时,还能强制使事务生效的方式。((YourClass) AopContext.currentProxy()).withTransactionMethod(keyword);这种写法相当于用AOP的方式调用同类的方法,使得@Transactional注解生效。spring原创 2021-11-28 18:05:16 · 4267 阅读 · 1 评论 -
Jackson简介
Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较低级,使用本文介绍的Jackson等高级类库处理起来会方便很多。引入类库由于Jackson相关类库按照功能分为几个相对独立的,所以需要同时引入多个类库,为了方便我将版本号单独提取出来设置,相关Gradle配置如下。ext { jacksonVersion = '2.9.5'}dependencies { compile group: 'co原创 2020-09-18 21:14:09 · 1097 阅读 · 0 评论 -
图解用idea搭建一个Gradle+Spring的web工程(建项目)
上一篇文章详细介绍了下载gradle之后环境的配置,已经gradle仓库的基本配置,接下来我们聊聊实战,怎么用gradle搭建一个WEB项目。环境:Windows10、JDK8开发工具:Idea框架:Spring、Gradle新建webapp文件夹打开idea,找到上篇文章我们一起新建的空白项目(没看上一篇的现在看也行,很短的)现在它只是一个java项目,并不是javaweb项目,我们先给它注入web项目的灵魂:在项目的main文件夹下创建一个叫webapp的文件夹,然后再在webapp下面创原创 2020-08-17 21:22:30 · 1157 阅读 · 0 评论 -
图解用idea搭建一个Gradle+Spring的web工程(搭环境)
第一步 必需环境1、 安装JDK,并配置JAVA_HOME环境变量2、 安装idea,社区版即可3、 安装Gradle在座的各位都是大神,以上步骤请自行完成第二步 Gradle配置环境变量配置1、以gradle5.0,下载解压到你想要的目录,随手复制一下路径:2、 以windows10为例,右键我的电脑 - 属性 - 高级系统设置 - 环境变量:3、打开环境变量页面之后,在系统变量下面点击新建,创建一个名为GRADLE_HOME的变量名,变量值就是刚才你复制的gradle安装路径,我原创 2020-08-10 21:42:12 · 378 阅读 · 0 评论 -
Java菜鸟笔记:JAVA中常用容器概述(List,Set,Map)
本章开启java容器介绍篇章,这一节只是简单介绍,之后会有每种容器的详细介绍以及常见场景和问题,还会一起复习数据结构的知识,深知涉及一些搜索算法等,敬请期待原创 2020-08-01 17:02:37 · 247 阅读 · 0 评论 -
Java菜鸟笔记:Java猜字母游戏完整代码 注释超详细(三次机会,计算总分,可运行)
Java猜字母游戏完整代码,复制可直接运行注释超详细,小白也能看得懂程序随机生成一个五个长度不重复的字母数组,要求用户也输入五个字母用户每猜对一个字母加十分;用户猜对字母而且位置也正确 加二十分;用户共有三次机会,最后计算总分。原创 2020-05-10 01:58:44 · 995 阅读 · 0 评论 -
Java菜鸟笔记:Java中的static和final修饰词的用法和区别
static1)Static修饰的变量是静态变量:1.1) 由static修饰 值可以修改1.2) 属于类,存在方法区中,只有一份1.3) 常常通过类名来访问1.4) 何时用:所有对象的数据都一样,静态变量的值和所在类的对象无关。class A { public static int index = 100; //index就是static修饰的静态变量}2)由static修饰的方法是静态方法:21)由static修饰2.2)属于类,存在方法区中,只有原创 2020-05-08 22:41:37 · 255 阅读 · 0 评论 -
Java菜鸟笔记:Java中的Date类以及时间日期格式化
一、 Date类java.util.Date类对象的创建:1、创建当前时间的Date对象直接new对象就是创建代表系统当前日期的Date对象Date d = new Date();System.out.println(d); //Thu May 07 22:35:17 CST 20202、创建指定的时间的Date对象:如果我们想创建一个代表2020年5月7日的Date对象,D...原创 2020-05-07 23:26:14 · 997 阅读 · 0 评论 -
Java菜鸟笔记:java正则表达式常见用法
早在Java之前正则表达式就已经存在,在Java中它的强大与方便同样被继承下来。正则表达式主要运用于字符串操作,在java中字符串操作主要集中在String、StringBuffer和StringTokenizer类。基础在java中,正则表达式也许是一个很冷门的知识,但是在应用上一点都不冷门,比如说游戏中的“脏话和谐系统”,输入格式的验证等等。一般来说,正则表达式就是以某种方式(规则)来...原创 2019-06-24 23:42:34 · 156 阅读 · 0 评论