自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

转载 springboot中如何使用策略模式干掉if—else

springboot中如何使用策略模式干掉if—else常见if-else案列public class OrderServiceImpl implements OrderService {@Overridepublic String handle(OrderDTO dto) { String type = dto.getType(); if ("1".equals(type...

2019-11-08 19:01:58 696

原创 stringboot + jedis + redis实现分布式锁

pom.xml配置<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency><depen...

2018-09-21 18:51:00 209 3

原创 mysql触发器

mysql触发器

2023-01-04 14:27:12 262 1

原创 Java8关闭流使用try with resource关闭资源的理解

Java8关闭流使用try with resource关闭资源的理解

2022-11-18 14:52:48 2476

原创 IDEA使用Revert Commit进行代码回退

IDEA使用Revert Commit进行代码回退

2022-11-18 09:46:35 3665

原创 springboot生成图片并在图片上添加字体进行换行

springboot生成图片并在图片上添加字体进行换行

2022-11-17 10:47:36 1044

原创 springboot+poi 解析excel 按坐标取值

springboot+poi 解析excel 按坐标取值

2022-11-08 10:22:30 1014

原创 springboot整合freemarker根据模板导出excel

springboot整合freemarker根据模板导出excel

2022-11-08 10:01:35 817

原创 Spring中过滤器(Filter)和拦截器(Interceptor)的区别和联系

Spring中过滤器(Filter)和拦截器(Interceptor)的区别和联系

2022-10-28 10:16:06 231

原创 @TransactionalEventListener 事务事件监听进行业务解耦

@TransactionalEventListener 事务事件监听进行业务解耦

2022-10-27 10:34:13 2489

原创 java + jfreechart + itextpdf创建折线图饼图并导出为pdf

java + jfreechart + itextpdf创建折线图饼图并导出为pdf

2022-07-13 10:19:30 2387

原创 mybatis plus 常用方法总结

mybatis plus 常用方法总结

2022-07-04 10:14:34 271

原创 springboot+mybatis plus实现数据权限,在分页之前拦截sql进行修改

springboot+mybatis plus实现数据权限,在分页之前拦截sql进行修改

2022-06-22 14:00:34 1949 2

原创 springboot整合freemarker根据模板导出word,pdf,以及word转pdf,读取工程resources下的模板文件,并导出压缩包zip

springboot整合freemarker根据模板导出word,pdf,以及word转pdf,读取工程resources下的模板文件,并导出压缩包zip

2022-06-10 15:53:21 1272

转载 好用的Java工具类

好用的java工具类

2022-06-06 14:26:48 620

原创 常用脱敏小工具

import org.apache.commons.lang.StringUtils;public class commonUtil { /** * 只显示第一个汉字,其他隐藏为2个星号<例子:李**> * * @param fullName * @param index 1 为第index位开始脱敏 * @return */ public static String left(String fullNam.

2022-05-11 11:12:30 589

转载 Spring Boot + MDC 实现全链路调用日志跟踪,这才叫优雅

1、简介:MDC(Mapped Diagnostic Context,映射调试上下文)是log4j、logback及log4j2提供的一种方便在多线程条件下记录日志的功能。MDC可以看成是一个与当前线程绑定的哈希表,可以往其中添加键值对。MDC 中包含的内容可以被同一线程中执行的代码所访问。当前线程的子线程会继承其父线程中的 MDC 的内容。当需要记录日志时,只需要从 MDC 中获取所需的信息即可。MDC 的内容则由程序在适当的时候保存进去。对于一个 Web 应用来说,通常是在请求被处理的最...

2022-03-14 09:47:58 463

原创 mysql 乐观锁和悲观锁(排他锁)的使用及实现

悲观锁(排他锁)FOR UPDATEselect * from 'table' where id = 1 for updatefor update仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)中才能生效。在进行事务操作时,通过“for update”语句,MySQL会对查询结果集中每行数据都添加排他锁,其他线程对该记录的更新与删除操作都会阻塞。排他锁包含行锁、表锁。select * from 'table' where id = 1 for update 与普通查询不一样的是

2021-08-23 10:02:47 1562

原创 工具类,静态方法注入bean

package com.manager.utils;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.st.

2021-06-16 16:40:21 450

原创 对象拷贝,字段名称不一致的对象拷贝

**创建自定义注解**import java.lang.annotation.Documented;import java.lang.annotation.Retention;import java.lang.annotation.Target;import static java.lang.annotation.ElementType.*;import static java.lang.annotation.RetentionPolicy.RUNTIME;/*** 不同对象不同key..

2021-06-10 17:08:50 1005

原创 less命令搜索日志步骤

wc -l service.log 查看文件行数查看app.log日志500行tail -500f app.logtail

2021-06-10 16:56:23 1302

原创 StringRedisTemplate实现分布式锁

public class RedisLock { private static final Long RELEASE_SUCCESS = 1L; private static final String LOCK_SUCCESS = "OK"; private static final String SET_IF_NOT_EXIST = "NX"; private static final String SET_WITH_EXPIRE_TIME = "EX"; pri.

2021-06-02 15:53:23 1715

原创 windows修改git账号密码

当git的账号变更时,会导致无法连接git服务器1.win + r打开命令行窗口2.输入control3.点击"用户账户"4.凭据管理=》windows凭据

2021-05-21 17:14:41 979

原创 mybatis的if判断integer的小知识点,integer a=0

integer a = 0;<if test="a != null and a != '' and a== 0"> </if>你会发现这个条件永远不会成立,因为mybatis的if将0认为是'',所以这样判断是无法进入条件的,将数字换为1,2之类的就可以了;...

2021-04-27 11:22:30 401

原创 Java8 Stream使用flatMap合并List

@Testpublic void mergeMapValuesTest(){ Map<Integer, ListContainer> map = Maps.newHashMap(); List<AClass> aClassList1 = Lists.newArrayList(); AClass aClass = new AClass(1, "zhuoli1", "haha1"); aClassList1.add(aClass); aClass...

2021-04-23 19:11:06 524

原创 idea安装easy-api插件生成yapi文档

一、安装idea插件二、创建.easy.api.config配置文件,注意该配置文件和.idea文件夹同级文件名称:.easy.api.config文档内容:# [email protected]#[email protected]#[email protected]

2021-04-16 17:56:55 3198

原创 父线程变量需要传递到子线程使用一种方式InheritableThreadLocal和TransmittableThreadLocal

一、使用场景ThreadLocal是相对于每一个线程自己使用的本地变量,没有使用到子线程的时候可以用ThreadLocal有这样的一种需求:父线程生成的变量需要传递到子线程中进行使用。使用到子线程但是没有用到线程池,这个时候可以用InheritableThreadLocal,因为InheritableThreadLocal的使用利用Thread 的初始化使用线程池的方式这个时候就需要TransmittableThreadLocal登场来解决。二、案例public class Loc

2021-04-16 11:28:09 436

原创 mysql时间不对,修改时区

一:在非root权限下,进入root权限下 sudo su source /etc/profile mysql -u root -p show variables like "%time_zone%"; EST 为美国时间setglobaltime_zone="+8:00";selectnow();如果不起作用,重启mysqlservicemysqlrestartselectnow();...

2021-03-26 11:10:53 663

原创 liunx命令查看redis存储的内容

一、先找到redis二、进入rediscd redis-5.0.5/三、如果有密码,输入密码认证auth passworld四、选择库select 1 :查询第一个库keys * :查看所有的key五、查看内容get key :查看key对于值...

2021-01-21 09:37:36 10857

原创 java http远程调用接口下载文件

远程调用http接口下载文件,接口返回流一、将文件保存本地public String httpDownload(String httpUrl){ try { URL url = new URL(httpUrl) ; HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection() ; urlConnection.connect() ; Input.

2020-12-16 13:56:05 8660

转载 springboot通过不同的策略动态调用不同的实现类

1、前言经常遇到这样的一个需求,前端传的实体类型相同,后端需要根据实体类中的某一个字符串,动态地调用某一个类的方法。在SpringBoot中,我们可以理解成,一个Controller接口对应多个ServiceImpl,使用这种方式,如果后期需要添加一个功能,仅仅创建一个ServiceImpl就可以满足需求,而不用再额外创建一个Controller接口。现在假设一个情景,前端传入不同的用户类型,后端返回该用户的任务。你可能问我,为什么不直接把(用户类型,用户任务)存入数据库?现在只是一个

2020-12-01 11:06:11 4584

原创 java获取网络图片(URL)保存到本地

import org.apache.commons.io.FileUtils;public String downloadFromUrl(String url) { String filePath = CommonUtils.getProjectPath() + /file; if (CommonUtils.isOSLinux()) { filePath = filePath.split(":")[1]; } String fileNam..

2020-11-23 10:34:26 1011

转载 mysql更改表结构:添加、删除、修改字段、调整字段顺序

mysql更改表结构:添加、删除、修改字段、调整字段顺序添加字段:alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加)删除字段:alter table `user_movement_log` drop column Gatewayid调整字段顺序:ALTER TABLE `user_movement_log` CHANGE `Ga

2020-10-29 15:50:37 928

原创 上传文件到服务器报错:Could not parse multipart servlet request; nested exception is java.io.IOException

问题描述:Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.3464199984884304527.7700/work/Tomcat/localhost/ROOT] is not valid原因:从错误代码上可以看出是因为临时目录无效(找不到临时目录)导致上传文件失败,而临时目录不存在是因为linux

2020-10-19 18:07:03 5809

原创 maven聚合工程(多个mudule只编译、打包指定module)

在多module的maven项目中,如果每次打包整个工程显得有些冗余和笨重。例如A,B,C的继承关系为C|—– A|—– B即P包含A,B的module,每次打包P都会将A,B都打包。假如我只修改了A模块,那么每次都要将B都一块打包吗?当然不是,maven提供了自定义参数:-pl, --projects Build specified reactor projects instead of all projects-am, --also-make ...

2020-09-25 15:51:50 2403

原创 java生成二维码(在图片上生成二维码(二维码带logo)并且在图片上添加文字标签)

1pom.xml<!--生成二维码--><dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-extra</artifactId> <version>5.4.3</version></dependency><dependency> <groupId>com.google.zx

2020-09-24 10:06:11 4029 6

原创 Spring Boot中如何干掉if else

http://www.ciphermagic.cn/spring-boot-without-if-else.html

2020-09-03 11:05:36 103

原创 dubbo中如何传递隐式参数

1.在dubbo服务调用中,使用ThreadLoca是无法进行ThreadLoca对象传递的,即使使用InheritableThreadLocal父子线程传递依然无法进行传递,这个时候公共参数就没法通过线程对象进行传递,这个时候可以使用dubbo RpcContext进行参数隐式传递。@Component@Slf4jpublic class TokenHandler implements HandlerInterceptor { @Reference private ZcLogi

2020-08-24 18:24:07 3067

原创 springboot整合微信网页授权登陆

微信网页授权步骤:​1第一步:用户同意授权,获取code2第二步:通过code换取网页授权access_token3第三步:刷新access_token(如果需要)4第四步:拉取用户信息(需scope为snsapi_userinfo)5附:检验授权凭证(access_token)是否有效​一.第一步:用户同意授权,获取codescope参数中的snsapi_base(静默授权,用户无感知)和snsapi_userinfo(非静默授权,提示框需要用户确认授权)...

2020-08-11 13:56:47 345

原创 在过滤器Filter中抛出一个全局异常可以捕获的异常

1、创建自定义异常package com.manager.exception;import com.manager.enums.ExceptionEnum;public class TokenException extends RuntimeException { /** * */ private static final long serialVersionUID = 1L; private Integer errCode; privat...

2020-07-30 18:11:26 2426 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除