java踩坑之路
文章平均质量分 54
家家小迷弟
这个作者很懒,什么都没留下…
展开
-
Java判断时间间隔来决定任务执行
这里就像做减法,一定要注意顺序, 例如 9和5之间的间隔一定大于2,9-5>2没毛病但是5-9>2肯定不成立的。数据库中的任务记录表的某条记录,状态一直无法变更,导致整个任务进程卡住,看了代码如下,任务更新时间为2023-09-13 15:35:40。正常情况是要走到这个else里面,执行。将任务状态改为失败的。原创 2023-09-14 18:45:21 · 728 阅读 · 0 评论 -
Java将汉字转拼音以及判断字符是否为汉字
可以看到,不管什么符号,都会原样输出,原创 2023-07-27 17:08:53 · 385 阅读 · 0 评论 -
Java遍历Map集合,获取key、value等方式
上面的几种遍历方法都用了增强型 for 循环 —— foreach, 这是 JDK 5 开始才有的特性。原创 2023-06-01 11:11:58 · 9697 阅读 · 0 评论 -
Java做Excel导出,将数值转换为科学计数法保存,使用postman发送post请求保存excel文件
Java做Excel导出,将数值转换为科学计数法保存。原创 2023-05-10 17:27:06 · 953 阅读 · 1 评论 -
Stream流中,根据对象去重+指定对象中的属性去重
在main方法中构造四个对象,其中第四个对象为重复对象,现在进行对象的去重、以及对象中某一属性的去重操作。运行结果如下,可以看到,stream流的distinct只是将对象去重,将相同的第三个和第四个对象去重了。原创 2023-03-28 22:38:08 · 8668 阅读 · 0 评论 -
mybatisPlus更新策略导致更新失败
失败的原因是:在使用updateById更新的时候,如果该字段为空,则不进行更新,该注解的作用是,忽略mp的更新策略,如果没空,直接置空:mp提供了以下几种策略。如图,在选择关联模板的时候,把它取消,原创 2023-03-15 19:39:21 · 2611 阅读 · 0 评论 -
查数据库中包含某个字段的所有表
查数据库中包含某个字段的所有表。原创 2023-03-03 10:24:02 · 894 阅读 · 0 评论 -
虚拟机调优工具java VisualVM中的插件Visual GC 2.1.2离线安装,附下载地址
如下,点击Visual GC,如果电脑能正常访问github,就可以下载,如果无法访问,本文最后提供下载地址,离线下载。原创 2023-01-11 10:13:35 · 933 阅读 · 1 评论 -
vue前端页面实现打印与将页面转换为PDF下载
vue前端页面实现打印与将页面转换为PDF下载:首先是一个合同页面,需要的功能是,直接在页面打印该合同,或者将该合同以PDF的格式下载下来:原创 2022-11-08 11:13:30 · 1196 阅读 · 2 评论 -
JSR303数据校验,响应体中没有具体message信息的处理
【代码】JSR303数据校验,响应体中没有具体message信息的处理。原创 2022-11-04 16:34:13 · 187 阅读 · 0 评论 -
多模块项目在idea里面运行正常,打包失败,找不到程序包,找不到符号报错
原因就出在打包的顺序, 打包的时候会生成两种包,一个包含了本包的所有类,另一个是可执行的包,,,程序会先生成原始包,然后生成执行包,覆盖掉原始包,而原始包是根据其他包读取的,所以会出现找不到包;这种情况出现在,跨模块调用另一个模块的方法时;另一个模块恰巧也是一个可执行包,就会出现这个问题;因为两个模块都是启动类,所以会生成两个执行包,就出现这个问题了。原创 2022-09-30 15:29:32 · 3822 阅读 · 0 评论 -
idea本地运行正常,打包部署以后openFeign调用失败,返回为null,以及报错406
就是打包以后,在运行jar包的情况下,openFeign就调用不到了,查看控制台,里面打印的sql,其中的用户id参数竟然是null。admin模块中我定义的获取当前用户的方法getCurrentUser方法来获取当前用户,contract模块中,我使用openFeign调用该方法,然后获取用户的id来查询,但是页面数据为空,这就很奇怪了。,报错信息里面竟然是401,未登录的错,这就有点迷惑了,本地调用都没问题,打个包部署运行,去调用方法,竟然是未登录状态。原创 2022-09-29 15:54:20 · 3543 阅读 · 0 评论 -
jar包运行报错jar中没有主清单属性、springGateway访问接口报错302,跳转login接口
百度原因可能是:spring security框架未通过认证而将请求重定向至登录页面!因为contract模块中的接口没有涉及springsecurity的认证,而token令牌是通过之前的中继完成的,所以在启动类上的注解增加。三、成功运行jar包以后、访问相关接口、报错302,重定向请求login接口,二、找不到 / 无法创建相关的Mapper、Service等、报错。至此,项目成功打包并且运行、不过坑还在后面。注解,表明mapper所在的路径即可。为该模块启动类的包路径。原创 2022-09-29 14:54:29 · 1630 阅读 · 0 评论 -
idea不能设置包名为con
idea创建的包名为con,也就是在文件目录中创建con的文件夹,所以不行,不知道linux下可不可以这么创建呢。准备做个合同模块,数据库表名contract,准备建一个实体包名为con,结果显示无效的名称。一开始以为重复了,后来发现,这是和。...原创 2022-08-26 14:51:24 · 397 阅读 · 0 评论 -
springboot接收前端传值的几种方式
添加@RequestParam注解,默认会校验入参,如果请求不带入参则会报错,可以通过设置属性required=false解决,例如@RequestParam(value=“username”,required=false),这样就不会校验入参,于第一种请求方式一样。3@RequestBody//适用于POST请求,参数放在请求体中,GET没有请求体,接收application/json,用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),将接收到的参数装入实体类,......原创 2022-07-29 17:09:19 · 6787 阅读 · 0 评论 -
Springboot+Vue整合Echarts实现数据可视化
首先是后端:主要用到的是Echarts的折线图,其中需要后端传过来的数据,就是横轴和纵轴的数据,在后端,我拿到了对象的List集合,新建了两个List用来存放横轴纵轴的数据,avgList是Y轴表示利用率,timeList是x轴表示时间,再放到Map中返回给前端@ApiOperation("查询cpu分析数据列表") @PostMapping("getEchartsList/{memoryId}") public CommonResult getEchartsList( @PathVar原创 2022-05-10 11:30:19 · 2937 阅读 · 0 评论 -
Springboot+Vue+EasyExcel实现web页面的excel下载
读取跟着教程做很容易,下载自己摸索属实费了点功夫按照官网教程来做https://alibaba-easyexcel.github.io新建了一个springboot工程,然后访问地址,确实可以弹出下载页,但是现有项目整合了springsecurity,不管怎么搞,前端点击下载按钮总是没反应。后台部分:1:controller@ApiOperation(value = "导出excel") //swageer2注解,可忽略 @GetMapping("/getExcel") publ原创 2022-05-06 17:25:35 · 2221 阅读 · 0 评论 -
Springboot+Vue+EasyExcel实现web页面的excel读取
首先是读取:前端用的上传组件不细说这里通过action提交到后台相应接口后端如下:1、controller层:@ApiOperation(value = "CPU的Excel批量导入") @PostMapping("addComputer") public CommonResult addSubject(MultipartFile file) { //1 获取上传的excel文件 MultipartFile computerService.save原创 2022-05-06 16:52:43 · 1454 阅读 · 0 评论 -
Map集合按key删除和按value删除
首先是按value删除,构建一个map集合,存放3个元素,通过map.values()拿到value的collection集合,再删除,这个比较简单public class test { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); // 按值删除 map.put("1", "哈原创 2021-06-08 09:34:27 · 12762 阅读 · 4 评论 -
vue项目部署的跨域问题解决
跨域问题在前后端分离项目很常见,至于为什么会跨域,同源策略,百度各种博客都很详细,这里不再介绍,主要记录项目中的各种设置,解决的过程。首先是后端:过滤器:@Configurationpublic class GlobalCorsConfig { /** * 允许跨域调用的过滤器 */ @Bean public CorsFilter corsFilter() { CorsConfiguration config = new CorsCon原创 2022-04-26 10:14:42 · 8847 阅读 · 0 评论 -
java处理大容量excel报错解决
java使用easyexcel读取excel将数据保存到数据库,由于excel数据量较大,有40多万行,大小接近20M,在处理中报错了分为两处报错,第一个浏览器报错:413 Request Entity Too Large请求实体太大的原因由于Nginx默认的request body为1M,小于我上传的大小这里修改nginx配置文件nginx.conf在http{}中加入 client_max_body_size 100m;然后重启nginx第一个报错解决第二个springboot报错,如原创 2022-04-14 14:09:30 · 1107 阅读 · 0 评论 -
springboot2.6.x版本的springsecurity注入PasswordEncoder导致循环依赖问题
按照以前项目搭建框架,启动报错The dependencies of some of the beans in the application context form a cycle:目测是循环依赖什么的问题,在userSecurityConfig注入了UserService在UserService中使用了PasswordEncoder在userSecurityConfig继承的SecurityConfig中声明了一个Bean,PasswordEncoder我理解的是:这就造成了,在创建原创 2022-03-14 11:20:01 · 2299 阅读 · 0 评论 -
监听器Listener中使用spring容器管理的bean,解决Autowired为null空指针的问题
背景: 在整合EasyExcel时候,自定义了监听器SubjectExcelListener,在监听器里面完成插入等操作,插入操作是通过mybatisPlus的条件构造器完成的,需要注入自定义的subjectService来完成,但是直接在监听器里使用@Auwowired注入subjectService,会报空指针。原因如下:首先要区分Listener的生命周期和spring管理的bean的生命周期。(1)Listener的生命周期是由servlet容器(例如tomcat)管理的,项目启动时上例中的C原创 2022-02-16 15:07:55 · 3351 阅读 · 6 评论 -
SpringBoot2.6.x集成Swagger报错,java.lang.NullPointerException,通过knife4j增强swagger,(附带swagger3.0x解决办法)
使用SpringBoot集成Swagger后,运行报错:Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException这里是版本的问题,因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。解决方法有两种:第一:降低springboot版本:把spr原创 2022-01-21 10:21:44 · 2469 阅读 · 0 评论 -
springsecurity配置登录接口匿名访问无效,出现403Forbidden
在复习springsecurity的时候,出现一个奇怪的现象,登录接口已经设置为匿名访问了,但是通过postman测试的时候,出现了403禁止访问的情况security配置类已经关闭了csrf,并且/user/login已经设置为匿名访问:后来发现,原来是我入参写错了,传进来的User对象,实体类里面的用户名称是userName,而不是username,改为userName,正常登录但是数据库里面的用户名字段是user_name,这个不匹配,难道不会出现Unknown column 的错误吗原创 2022-01-13 10:51:35 · 6771 阅读 · 15 评论 -
java冒泡排序和选择排序代码实现及原理步骤分析
冒泡排序代码如下:public class SortTest { public static void main(String[] args) { int[] arr={12,45,89,2,10,9}; maopaoSort(arr); } /* * 冒泡排序 */ public static void maopaoSort(int[] arr) {原创 2021-11-05 10:52:21 · 392 阅读 · 0 评论 -
java实现死锁的实例以及synchronized的作用范围和对象
public class DeadLock { //创建两个对象 static Object a = new Object(); static Object b = new Object(); public static void main(String[] args) { new Thread(()->{ synchronized (a) { System.out.println(Thread原创 2021-10-29 16:56:54 · 212 阅读 · 0 评论 -
java集合各实现类的区别以及线程安全和同步
Java中提供给程序开发使用处理数据结构的一种方式。数组的局限性太大了!!! 1. 数组要求数据类型一致化!!! 2. 数组的容量确定之后无法更改!!! 3. 数组操作没有太多的配套方法,需要程序员自己完成!!! 集合解决的问题: 1. 可以满足多个数据类型,但是同时又做到了数据类型一致化操作【泛型】 2. 底层保存数据的容量是可以发生改变的 3. 有足够多的配套方法,可以满足最基本的增删改查操作 CRUD集合可以看作是一种容器,用来存储对象信息。所有集合类都在 java.uti.原创 2021-10-25 15:08:47 · 521 阅读 · 0 评论 -
springcloud切换负载均衡算法不生效,@RibbonClient与@LoadBalancerClient使用方法
在看尚硅谷的springloud视频时候,跟着视频和下载的脑图资料做的时候,发现由轮询切换随机的负载均衡算法没有生效,看弹幕说什么切换服务名大小写什么的,都没生效,折腾一上午,发现是脑图资料有错误。RoundRobinRule()根本就是tmd轮询,而不是随机,不管怎么折腾,都是轮询效果,这里应该是RandomRule() @Bean public IRule myRule() { // 定义为随机 return new RandomR原创 2021-08-31 12:43:52 · 3082 阅读 · 8 评论 -
SOCKET接受服务端发送十六次消息自动断开连接,报错java.net.SocketException: Connection reset
在测试socket服务器时候,发现页面发送16次前进指令,就断开连接控制台报错java.net.SocketException: Connection reset:网上查博客后,发现原因:服务器端代码中有 socket.sendUrgentData(0)之前我写过这个,是用于检测网络状态,判断客户端是否断开连接,但是原理不是很清楚, 不允许某一台主机总在发送紧急数据包,这样会导致信道堵塞,所以当主机发送一定数量的紧急数据包后,该主机就再不允许发送数据包了,即报错。注释起来,再运行,不会报错原创 2021-06-23 15:18:20 · 738 阅读 · 0 评论 -
java爬虫页面编码gbk,在mysql里面显示问号以及mysql警告Establishing SSL connection without server‘s identity verificatio
在做java爬虫时候,页面编码gbk,在MySQL里面显示的汉字全是问号解决方法:在数据库连接配置里指定编码方式:spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crawler?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false成功解决乱码问题。Idea的日志窗口出现了下面的警告,该警告对运行测试的结果没有影原创 2021-04-06 23:33:09 · 208 阅读 · 0 评论 -
management.security.enabled过期,springboot2.x监控端点配置
在1.5.x版本中通过management.security.enabled=false,关闭安全服务来暴露所有端点,但是在版本更新中弃用了,在新版本中,用新的方式来暴露端点方式一properties文件:management.endpoints.web.exposure.include=*方式二yml文件:management: endpoints: web: exposure: include: '*'默认只开启了2个端点全部暴露出来有13个端点原创 2020-09-03 16:52:18 · 1592 阅读 · 0 评论 -
springboot整合dubbo和zookeeper时候各种报错问题
跟着视频做的时候,有很多不一样的地方,随着我一步步的试错,报了如下各种错误:java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy,java.lang.NoClassDefFoundError: org/apache/zookeeper/Watcher,@DubboReference dependencies is failed,java.lang.NoClassDefFoundError: ,org/apache/curator/ut原创 2020-09-02 20:54:27 · 1910 阅读 · 0 评论 -
SpringSecurity+Thymeleaf中sec:authorize=“isAuthenticated()“不生效,页面显示错误
在搞权限时候,发现登录页面是混乱的,在没登录的情况下,展示出了“您好,您的角色有” 这种本该是登陆状态下才展示的东西,我觉得应该是"isAuthenticated()"没有生效,没有准确判断出登录状态以及该展示的东西。网上查到说:是springboot在引入security的时候在springboot的2.0.7之后的版本中对于此标签好像不支持,所以就会出现写了之后无反应的情况,将我们引入的springboot版本改到2.0.7或者之前版本就好了,经过我多次尝试,发现是引入版本的问题前端页面中引入的命原创 2020-09-01 11:55:55 · 1878 阅读 · 4 评论 -
SpringSecurity测试登录页面报错There is no PasswordEncoder mapped for the id “null”
SpringSecurity测试登录页面报错There is no PasswordEncoder mapped for the id “null” protected void configure(AuthenticationManagerBuilder auth) throws Exception { // super.configure(auth); auth.inMemoryAuthentication() .withUser("zha转载 2020-08-31 21:46:01 · 220 阅读 · 0 评论 -
elasticsearch7.x中spring.data.elasticsearch.cluster-name,cluster-nodes等属性过时以及移除type的解决方法
在搞elasticsearch的时候,发现用的版本比较高,导致很多以前的方法都过时了,晚上也很少关于这个的解决办法主要原因是:所以这里我们使用RestHighLevelClient写一个配置类:@Configurationpublic class ElasticsearchConfig { @Bean RestHighLevelClient elasticsearchClient() { ClientConfiguration configuration = Cl原创 2020-08-30 11:59:17 · 16536 阅读 · 1 评论 -
Docker启动Elasticsearch7.x闪退以及解决方法
上次的解决的事6.x版本的闪退问题:https://blog.csdn.net/weixin_42260782/article/details/108277861我发现Spring Data Elasticsearch ,Elasticsearch,Spring Boot版本不匹配,为了不冲突,我把ES换到7.6版本,结果出现闪退,像上次更改内存都没用,网上偶然发现一个启动命令中指定了-e “discovery.type=single-node”,应该是什么单例节点的启动模式,可能是新版本的特性,加上原创 2020-08-29 18:30:52 · 922 阅读 · 2 评论 -
springboot2.x使用JestClient来操作ES
springboot 2.3.0以后版本不支持自动注入JestClient,下图我们在yml文件中配置JestClient时会出现划掉的线提示。我们采取手动配置的方式在测试类中手动创建JestClientpublic JestClient getJestCline(){ JestClientFactory factory = new JestClientFactory(); factory.setHttpClientConfig(new HttpClientConfig .Builde原创 2020-08-28 23:01:07 · 1174 阅读 · 4 评论 -
docker运行elasticsearch时候,访问不了9200端口,容器一开启就关闭
使用docker安装es的时候,访问9200端口失败,用docker ps 查看容器,发现启动es后,过一段时间会自动关闭。把虚拟机的内存加到4G,还是这样。其实主要的问题是分配给ES的内存太小了:1.进入etc目录,编辑sysctl.conf文件:vi /etc/sysctl.conf 12.添加配置:vm.max_map_count=2621443.执行:sysctl -p4.启动es如果还是失败,修改limits.conf:vi /etc/security/limits.c原创 2020-08-28 13:35:57 · 6316 阅读 · 0 评论 -
docker拉取elasticsearch镜像报错`manifest for docker.io/elasticsearch:latest not found及具体配置
docker拉取elasticsearch镜像报错:manifest for docker.io/elasticsearch:latest not found后来查到:需要带上版本号:docker pull elasticsearch:6.5.0成功拉取docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5fds5f5df5dsf配置的时候,elasticsearch是原创 2020-08-28 11:34:47 · 8995 阅读 · 0 评论