![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringBoot
文章平均质量分 64
Java小白笔记
如果帮到你的话,点个免费的小赞,加个免费的关注再走吧
展开
-
Java中使用lamda表达式进行foreach,优雅处理集合List为null的情况
在使用Java 8及以上版本的Stream API时,如果你想要优雅地处理可能为空的List,可以使用以下方法。原创 2024-01-10 17:45:58 · 1862 阅读 · 0 评论 -
Java中请求生成唯一追溯TraceId
因为是微服务架构,平常日志太多,看日志不太好查,所以想要从一整个链路当中获取一个唯一标识,比较好定位问题,原理就是从gateway网关将标识传递到下游,下游服务拿到这个标识,响应结束后将traceId反向写入响应体中。原创 2024-01-05 10:07:35 · 1022 阅读 · 0 评论 -
Java在SpringCloud中自定义Gateway负载均衡策略
SpringCloud官方推荐使用spring-cloud-starter-loadbalancer进行负载均衡。背景:大文件上传做切片文件上传;流程:将切片文件上传到服务器,然后进行合并任务,合并完成之后上传到对象存储;现在服务搞成多节点以后,网关默认走轮循,但是相同的服务在不同的机器上,这样就会导致切片文件散落在不同的服务器上,会导致文件合并失败;所以根据一个标识去自定义gateway对应服务的负载均衡策略,可以解决这个问题;原创 2023-12-27 10:47:33 · 2018 阅读 · 3 评论 -
Java当中更改源码/修复CVE-2016-1000027漏洞分析
以spring-web这个包为例.本质上来说就是创建一个和HttpInvokerServiceExporter.class内容相同的HttpInvokerServiceExporter.java的文件,然后在handleRequest中去除那段多余的代码,然后将HttpInvokerServiceExporter.java文件生成一个新的.class文件,然后将新的.class文件替换到原来的spring-web的原jar包中; 漏洞版本:spring-web原创 2023-08-03 09:46:25 · 4607 阅读 · 1 评论 -
Java当中根据文件名称获取对应的contentType
Java当中根据文件名称获取对应的contentType原创 2023-07-21 10:26:15 · 613 阅读 · 0 评论 -
Java中SpringBoot中Actuator漏洞修复
Java中SpringBoot中Actuator漏洞修复原创 2023-07-05 15:42:10 · 1886 阅读 · 0 评论 -
@Validated注解不生效问题汇总
在2.3.0版本之前spring-boot-starter-web是集成了validation检验的 但是在2.3.0开始就去掉了该依赖,所以需要自己添加该依赖。这里要注意,如果是集合对象,同样需要添加@Valid注解,不然不生效的。参数如果是非对象格式,需要在controller类上面添加@参数如果是对象的话,属性的前面的需要添加 @Valid注解。原创 2023-02-13 11:49:56 · 13371 阅读 · 3 评论 -
Mybatis-Plus将字段设置为null
Mybatis-Plus将字段设置为null,最近在做一个需求的时候需要把数据库中的某个字段设置为空在代码中通过set方法对一个字段设置成null,发现并没有起作用默认的是NOT_NULL,也就是忽略null字段,所以更新不成功。原创 2023-02-03 09:33:43 · 10325 阅读 · 0 评论 -
Java中MultipartFile的相关属性
Java中MultipartFile的相关属性原创 2022-12-05 10:56:06 · 1651 阅读 · 1 评论 -
Java读取指定目录下面指定后缀的文件
以.java文件为例,指定目录为directory,listFiles第三个参数表示是否递归,递归即读取子目录。Java读取指定目录下面指定后缀的文件原创 2022-12-02 15:51:47 · 977 阅读 · 0 评论 -
SpringBoot使用jasypt实现数据库连接加密
【代码】SpringBoot使用jasypt实现数据库连接加密。原创 2022-11-04 15:07:17 · 862 阅读 · 0 评论 -
SpringBoot使用flyway迁移SQL脚本
Flyway是一款开源的数据库版本管理工具。它可以很方便的在命令行中使用,或者在Java应用程序中引入,用于管理我们的数据库版本。在项目或产品中,很难一开始就把业务理清楚,把数据库表设计好,因此数据表也会在迭代周期不断迭代。在Java应用程序中使用Flyway,能快速有效地用于迭代数据库表结构,并保证部署到测试环境或生产环境时,数据表都是保持一致的。flyway官方文档在控制台可以看到相关日志打印,并在数据库中查看到已经创建好的表和相关记录变更。原创 2022-11-04 15:05:35 · 336 阅读 · 0 评论 -
SpringBoot 实现异步调用 @Async
使用@Async注解,在默认情况下用的是线程池,该线程池不是真正意义上的线程池。使用此线程池无法实现线程重用,每次调用都会新建一条线程。若系统中不断的创建线程,最终会导致系统占用内存过高,引发= null?//判断是否开启限流,默认为否//执行前置操作,进行限流} else {//未限流的情况,执行线程任务}}//不断创建线程= null?}//创建线程//指定线程名,task-1,task-2...}原创 2022-10-31 17:05:02 · 435 阅读 · 0 评论 -
JAVA中异步之CompletableFuture使用详解
在上一篇文章《CompletionService使用与源码分析》中,已经介绍过了的局限性,它没法直接对多个任务进行链式、组合等处理,需要借助并发工具类才能完成,实现逻辑比较复杂。而是对的扩展和增强。实现了接口,并在此基础上进行了丰富的扩展,完美弥补了的局限性,同时实现了对任务编排的能力。借助这项能力,可以轻松地组织不同任务的运行顺序、规则以及方式。从某种程度上说,这项能力是它的核心能力。而在以往,虽然通过等工具类也可以实现任务的编排,但需要复杂的逻辑处理,不仅耗费精力且难以维护。的继承结构如下:接口定义了转载 2022-09-27 16:18:46 · 1815 阅读 · 0 评论 -
SpringBoot - @ConditionalOnMissingBean注解使用详解
别的服务只需要加上@EnableFeignClients这个注解就可以扫描的到Center中的Feign。原创 2022-09-02 14:44:38 · 1913 阅读 · 0 评论 -
Java中Spring使用AOP获取值类型
Java中Spring使用AOP获取值类型一:AOP简介1.AOP简介AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。这种在运行时,动态地将代码切入到类的指定方法或指定位置上的编程思想就是面向切面的编程。利用AOP可以将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来作为公共部分,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。2原创 2022-08-09 15:47:50 · 4648 阅读 · 0 评论 -
RedisUtils工具类
package com.zeekr.hr.recruitment.share.util;import org.springframework.data.redis.core.RedisTemplate;import javax.annotation.Resource;import java.util.concurrent.TimeUnit;/** * RedisUtils * * @author xxx * @date 2022/3/4 14:43 */public class R原创 2022-04-02 17:25:44 · 391 阅读 · 0 评论 -
【SpringBoot】自定义启动Banner
【SpringBoot】自定义启动Banner(1)首先在 resources 目录下创建一个 banner.txt 文件。(2)在这个文件中写入的文本将在项目启动时打印出来。比如我写入如下内容:(3)重启项目即可看到效果。2,使用艺术字体(1)如果想要将文本设置为类似默认 banner 那样的艺术字体,可以借助下面几个在线网站:http://www.network-science.de/ascii/http://www.kammerl.de/ascii/AsciiSignature.p原创 2022-04-02 16:28:04 · 1140 阅读 · 0 评论 -
Java面试宝典
新建(new):新创建了一个线程对象。可运行(runnable):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。运行(running):可运行状态(runnable)的线程获得了cpu时间片(timeslice),执行程序代码。阻塞(block):阻塞状态是指线程因为某种原因放弃了cpu使用权,也即让出了cpu timeslice,暂时停止运行。直到线程进入可运行(runnable。转载 2022-03-30 22:56:01 · 33778 阅读 · 4 评论