- 博客(112)
- 资源 (10)
- 收藏
- 关注
原创 Aop+自定义注解对入参进行操作(过滤、解密)
背景:对外提供接口,为了数据安全,接口入参进行了数据加密,接口收到参数后需要进行解密;如果每一个接口都要对入参进行一 一的解密操作,就大大增加了代码量和工作量;所以,这里使用自定义注解加Aop进行无侵入式的操作;第一步:自定义注解package com.example.demo.common;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.ann
2020-07-21 17:44:47 4786
原创 ThreadLocal解惑
比较书面的回答:类如其名,线程本地变量。当使用 ThreadLocal 维护变量时,ThreadLocal 为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程。这句话没问题,但容易被人误解,会被误以为:任意变量用ThreadLocal维护都是线程隔离的。后面会解答这个问题。
2024-08-23 22:43:13 775
原创 【解决】npm install 报错 cb() never called! This is an error with npm itself. Please report this error at
场景:npm install 报错总结一下,出现这个错误主要有两种原因1.npm缓存问题、2.node.js版本问题。附加node.js管理工具nvm的安装教程。
2024-07-28 19:48:57 2422 1
原创 “/usr/local/nginx/logs/nginx.pid“ failed (2: No such file or directory)问题
报错的意思是大概就是没找到 nginx.pid这个文件。这个是什么文件呢?nginx.pid文件在启动Nginx时会自动生成,它记录了nginx的进程ID也就是pid, 主要用于管理Nginx进程,例如停止或重启Nginx。当Nginx无法找到该文件时,会导致启动或重新加载Nginx配置文件失败。
2024-07-27 19:29:07 548
原创 jvisualVM分析jvm内存使用快照dump
服务发生内存溢出,就需要查看服务器上Java服务的jvm堆内存使用情况,可以使用dump命令生成dump文件,然后下载到本地,然后使用jvisualVM工具打开,即可实现可视化分析。生成dump文件常用的两种方式:第一种:使用命令直接生成。第二种:java -jar启动服务的时候添加dump参数,服务发生内存溢出时自动生成。
2024-04-14 23:00:16 4165 1
原创 jvisualVM远程连接jstatd
使用本地的jvisualvm工具远程连接jstatd。jvisualVM远程连接jstatd一般作为临时监控使用,例如:测试环境做压力测试时需要监控内存、以及其他的指标使用情况;线上服务出现内存使用异常等。如需要功能更全面,更规范的监控方式,可使用一些第三方监控服务,例如:Spring Boot Admin。
2024-04-14 20:33:29 793
原创 springcloud gateway网关动态配置限流
这里简单记录一下gateway网关集成mybatisPlus实现动态限流。gateway网关默认的限流方式各项限流参数都是在配置文件中配置,不够灵活,虽然使用阿里的Sentinel组件可以实现从nacos注册中心、配置中心动态读取配置,但是还是有一定的局限性。
2024-03-13 22:46:11 1142
原创 spring-boot-maven-plugin springboot打包配置问题
springboot项目的pom文件中一般都配置了spring-boot-maven-plugin打包插件,一般情况下,只需要映入 spring-boot-maven-plugin 依赖即可,但是某些情况下还是需要额外配置部分参数。
2024-03-10 19:53:50 867 1
原创 jar运行报错Unable to read meta-data for class
项目在idea中运行没有任何问题,但是打包部署后就报错了,报错:java.lang.IllegalStateException: Unable to read meta-data for class com.zhh.zhhd.biz.config.Test1Config
2024-03-10 18:03:22 2400
原创 springcloud gateway网关
gateway网关功能:服务路由、负载均衡、请求限流、跨域问题统一解决配置、身份认证和权限校验等下面记录一下gateway网关的基本功能和配置。PS:没有使用注册中心。
2024-03-02 13:38:45 597
原创 spring-boot-starter-parent和spring-boot-dependencies介绍
springboot项目的pom文件中,我们经常看见这样(下图)两种springboot的版本依赖管理方式;图片中的这两种依赖声明方式任意用其中一种都可以。文章后面会简单阐述一下区别和使用场景。
2024-03-02 01:42:49 1853
原创 SpringCloud gateway限流无效,redis版本低的问题
在使用springCloud gateway的限流功能的时候,配置RedisRateLimiter限流无效,后来发现是Redis版本过低导致的问题,实测 Redis版本为3.0.504时限流无效,改用7.0.x版本的Redis后限流生效。gateway配置RedisRateLimiter限流,限流过程中会有key存储在Redis中,可以在Redis客户端使用命令 keys * 查看存储的key,key消失得特别快,可以在压测该过程中查看。
2024-03-01 20:59:59 659
原创 RedisTemplate序列化
RedisTemplate默认使用的是JDK 序列化方式(JdkSerializationRedisSerializer) ,这种序列化方式可以不用在配置类里配置,默认即可,这种不推荐使用,这种方式对应客户端来说可读性差,不利于人工排查问题。所以一般用JSON序列化,JSON序列化方式又有两种,GenericJackson2JsonRedisSerializer和Jackson2JsonRedisSerializer,GenericJackson2JsonRedisSerializer配置更简单方便些。
2024-01-01 11:47:46 1157
原创 aop使用自定义注解报错 cannot resolve symbol
aop使用自定义注解报错 cannot resolve symbol '*',自定义一个注解 AuthTest,在aop场景下使用:@annotation(原因:如果自定义注解和aop类在同一个包下,@annotation中就可以只写注解名称,否则注解里面需要写全路径,例如:@annotation(")结果自定义注解报红。
2023-12-04 22:19:07 302
原创 GitHub经常打不开或者访问解决办法
访问慢或无法访问的原因:DNS解析是最为基础的一个环节。由于Github的服务器在全球各地,域名解析所需的时间也会不同,这就导致了在特定地区可能会出现Github无法正常访问的情况。解决:查询到github对应的IP,然后在hosts中配置IP和域名的对应关系,就相当于告诉浏览器目标地址在哪里了。可以ping命令: ping github.com 试一下,刚刚配置的域名IP映射已经生效。文件位置:C:\Windows\System32\drivers\etc。打开hosts文件,追加下面文本到末尾保存。
2023-10-30 21:03:24 1867 1
原创 读取yaml文件的值
记录一下,读取yaml文件中属性的值,这里用Kubernetes的deployment.yaml文件来举例。读取yaml文件中的image的值。
2023-09-17 15:35:58 278
原创 获取spring容器中的bean实例
在开发过程中,我们可能需要动态获取spring容器中的某个bean的实例,此时我们就会用到ApplicationContext spring应用上下文,这里做一下记录,网上很多类似的的工具类。先写好工具类再测试一下是否好用。创建一个bean并注入到容器。
2023-09-17 14:45:18 393
原创 Java判断文件的系统格式编码格式
使用Java判断一个文件的系统格式(亲测可用!),比如我们常见的:Windows格式的文件,Unixg格式的文件,Mac格式的文件;常常有这样的场景:我们在Windows系统编写的脚步上传到Linux系统执行,执行过程中偶尔会出现各种各样奇怪的问题,然后还找不到原因!好了,大概率是脚本格式问题。1.如果有notepad++,直接打开查看右下角,既可以查看当前的文件系统格式,也可以直接点击修改。
2023-08-05 17:02:23 1306
原创 base64: invalid input
类似的编码问题经常出现,比如:在windows平台下创建的shell脚本、文本、文件等等默认都是windows的编码格式,在上传到Linux平台之前或者上传之后记得最好是转一下格式。场景:把一个文件转成了base64字符串,并且存储在一个文本文件中,现在要使用命令把她转回去。2.Notepad++, 窗口右下角有Windows(CRLF)字样,这就是当前文本的编码格式,右键可以选择需要转换的编码。是因为文本编码的问题,文本是在windows平台下创建的,默认编码是windows编码,需要转为Unix编码;
2023-07-17 17:18:46 2123
原创 使用try catch干掉if else
阿里巴巴开发手册不建议使用try cath处理业务逻辑,但是实际开发过程中使用try catch代理if else往往会起到事半功倍的效果。一个简单的场景(实际开发过程中肯定比较复杂):现在要对一个字符串进行多重校验,每个校验写一个方法,然后挨个调用这些方法,一个校验通过后进行下一个校验,直到结束为止。如果使用常规写法,会出现大量的判断和处理逻辑。
2023-07-01 11:12:40 1054
原创 Spring Boot @RestControllerAdvice 全局异常处理
利用注解@RestControllerAdvice 轻轻松松实现全局异常处理
2023-05-27 17:41:37 308
原创 maven本地仓库有依赖包,还会远程下载的问题
明明本地有需要的依赖包,但是maven还是会从远程仓库拉取,如果远程仓库有需要的包还好,如果没有,或者无网络环境下没法访问远程仓库,那就直接报错,走不下去了。原因:在本地仓库的每个依赖包都存在这样的文件:_remote.repositories_remote.repositories中记录了依赖的来源,记录了settings.xml中的id,如果settings.xml中的id发生了变化,就需要从远程仓库重新获取依赖。
2022-12-28 22:07:50 13256 7
原创 SpringBoot生成图形验证码
需求:验证码一码一用,验证之后,不管是成功还是失败,都需要重新获取或者刷新二维码。大致思路:后端生成验证码后还需要生成一个UUID与之对应,存储到缓存(记得添加过期时间),把UUID和验证码反给前端,登录时后端使用前端传过来的UUID去缓存获取验证码,然后和前端传过来的验证码对比(一般忽略大小写)。
2022-12-09 17:21:58 3353 2
原创 delegate IDE build/run actions actions to Maven
idea中maven项目可以打包成功但是idea不能运行
2022-07-05 11:10:18 10389 5
原创 SpringBoot 在启动时执行某些方法
SpringBoot 在启动时执行某个方法,利用@PostConstruct 和 CommandLineRunner 或 ApplicationRunner
2022-06-30 18:01:45 5483
原创 swagger2的全新UI组件Knife4j
前后端对接,就得有一个好的的接口文档,具体到:接口的名称,说明,入参字段,出参字段,是否必传,参数类型等等,这里记录一下使用的swagger ui组件 knife4j-spring-ui。knife4j-spring-ui 是swagger的一个增强版,相比官方ui,其界面更美观,功能更强大,字段说明更清晰直观,测试起来更方便对比一下:官方UI:全新UI:集成在sprintboot项目中一、pom文件添加依赖 <!-- 封装了swagger2 -->.
2022-04-08 17:21:20 4705
原创 Java组装树结构
应用场景,数据库表里的多条数据互为父子级关系,现要对他们进行组装,形成树形结构的数据,需要到达如下效果:[ { "parentId": "0", "name": "一级目录1", "id": "10", "children": [ { "parentId": "10", "name": "二级目录1", "id": "20", "children": [] } ] }, { "parentId": "0", "name":
2022-03-25 15:12:23 4158 1
原创 Java配置类似Nginx方式的静态资源访问
应用场景:文件存储在服务器的指定目录,需要通过浏览器访问,一般会使用Nginx来做静态资源服务器,浏览器访问到Nginx后,Nginx匹配到对应的URL后会转发到对应的文件路径,例如:一、Nginx配置静态资源服务 server { listen 80; server_name 127.0.0.1; # 匹配访问的URL前缀 location /f1/ { # 静态资源存储路径 alias D:/data2/; } lo
2022-03-24 18:06:06 4783
原创 应用工具推荐phpStudy(小皮面板)
推荐应用:官网地址 xp.cn小皮面板(PhpStudy)真是一个好东西,集成了各种常用应用,一般当我们拿到一台全新的电脑,为了满足日常本地使用,都会安装一堆应用,例如:MySQL,Redis,Nginx、ftp客户端等等。这个时候,安装一个小皮面板(PhpStudy)应用就相当于安装了一批我们常用的应用,例如:MySQL、Redis、Nginx、Apache、ftp客户端、PHP、HeidiSQL数据库客户端等等,而且可以随意选择版本进行安装 大致界面如下:1.主界面PhpS..
2022-03-22 15:49:37 20510
原创 idea MyBatisGenerator自动生成代码
mybatis-generator生成代码是非常方便的,实现方式也是非常多,我最常用的就是在idea中使用,只需要简单的几步操作就能得到想要的dao接口、实体类、SQL xml文件。idea自带了mybatis-generator插件具体步骤如下:...
2022-03-11 18:46:34 4315 3
Navicat12安装包.zip
2020-07-02
solr定时同步jar包.zip
2020-05-22
eclipseSVN-site-1.10.11.zip
2020-02-23
HttpClient所需jar包
2019-03-07
基于Java FX实现的可视化排序算法
2018-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人