- 博客(35)
- 收藏
- 关注
原创 idea 配置指定配置文件路径
–spring.profiles.active=demo --spring.config.name=application --spring.config.location=D://develop//code//config//emsdev//application.yml
2025-04-29 14:14:23
138
原创 @Mapper(componentModel = “spring“)
default: 这是默认的情况,mapstruct不使用任何组件类型, 可以通过Mappers.getMapper(Class)方式获取自动生成的实例对象。jsr330: 生成的实现类上会添加@javax.inject.Named 和@Singleton注解,可以通过 @Inject注解获取。spring: 生成的实现类上面会自动添加一个@Component注解,可以通过Spring的 @Autowired方式进行注入。componentModel属性用于指定自动生成的接口实现类的组件类型。
2025-04-12 14:56:04
251
原创 解锁Linux超级权限:Sudo命令全解析
Sudo(Substitute User DO),顾名思义,是“以其他用户身份执行”的意思。在Linux系统中,Sudo允许普通用户以超级用户(root)或其他指定用户的身份执行命令。这一特性极大地增强了系统的灵活性和安全性,因为它避免了普通用户直接以root身份登录系统可能带来的风险。Sudo命令是Linux系统中不可或缺的一部分,它为用户提供了灵活且安全的权限管理机制。在实际应用中,建议结合系统的具体需求和安全策略,合理使用Sudo命令,以保障系统的稳定运行和数据安全。
2025-02-15 17:06:35
446
原创 MyBatis-Plus中的踩坑
1、MyBatis-Plus 如果查找出来的数据的字段都是null,则会返回一个长度为1的list,并且里面的值为 null 如下:[null]
2025-02-04 15:32:57
164
原创 HTTP请求头
前言HTTP请求头(headers)信息是HTTP请求中的一部分,它包含了客户端和服务器之间传递的附加信息,为什么要介绍这一部分,这是之前面试的时候,一个面试题,如果没去了解的话,可能就知道http请求头就只有请求头一个东西,其实不是的。HTTP头域包括通用头、请求头、响应头和实体头四个部分,本文将分别进行介绍这个四个部分。
2025-01-24 11:49:16
792
原创 【SpringSecurity】基本开发流程
3、定义OncePerRequestFilter (OncePerRequestFilter是Spring提供的一个过滤器基类,它确保了在一次完整的HTTP请求中,无论请求经过多少次内部转发,过滤器的逻辑都只会被执行一次。这对于需要在请求处理之前或之后进行一次性设置或清理资源的场景特别有用。提供先进的推理,复杂的指令,更多的创造力。2 、AccessToken处理器。1、编写各种Handler。
2025-01-22 10:54:50
380
原创 Spring boot学习文档
https://sca.aliyun.com/faq/sca-user-question-history12586/?spm=0.29160081.0.0.6c752efbamifrm
2025-01-17 14:32:17
155
原创 springboot指定外置配置文件(没有docker)
在运行Spring Boot应用程序时,你可以通过-Dspring.config.location参数指定外部配置文件的位置。Spring Boot支持多种外部配置文件格式,包括.properties和.yml。替换 your-application.jar 为实际的Spring Boot可执行JAR文件名称,将 /path/to/your/config 替换为外部配置文件的实际目录。
2025-01-17 14:21:21
335
原创 详解Spring数据缓存注解@Cacheable、@CachePut、@CacheEvict
在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中。缓存的使用将大大提高数据库的承载能力,提高系统的承载力和安全性。2、更新编号为1的员工信息,此时的key如果和查询时使用的key不一样,那么,我们更新该员工之后缓存的员工信息的key值和查询缓存中的key不一样,那么我们相当于是新添加了一组缓存数据。
2025-01-15 15:23:04
1060
原创 条件注解之@ConditionalOnProperty注解:通过配置文件的配置来控制配置类是否加入spring的IOC容器
Configuration被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。首先看matchIfMissing属性,用来指定如果配置文件中未进行对应属性配置时的默认处理:默认情况下matchIfMissing为false,也就是说如果未进行属性配置,则自动配置不生效。
2025-01-11 14:54:57
819
原创 MQ 消息积压了,增加消费者有用吗?
循环分配策略:这个很容易理解,遍历消费者,把 MessageQueue 分一个给遍历到的消费者,如果 MessageQueue 数量比消费者多,需要进行多次遍历,遍历次数等于 (MessageQueue 数量/消费者数量),还是以 4 个 MessageQueue 和 3 个消费者的情况,如下图:源代码如下:自定义分配策略:这种策略在消费者启动的时候可以指定消费哪些 MessageQueue。可以参考下面代码:按照机房分配策略:这种方式 Consumer 只消费指定机房的
2025-01-10 14:43:45
1009
原创 java 8 的LocalDateTime、LocalDate
Date类的大部分方法都不是线程安全的,比如setYear()、setMonth()、setDate()、setHours()、setMinutes()、setSeconds()等方法。因此,如果需要在线程中使用日期时间相关的操作,建议使用线程安全的日期时间类,比如JDK8中引入的新日期时间API中的LocalDateTime、LocalDate等类,或者使用线程安全的DateFormat和Calendar类。线程封闭性:这些类的构造方法都是线程安全的,并且不允许外部修改其中的状态。
2025-01-09 17:55:22
661
原创 Spring Boot 3.4更新内容
在 Spring Boot 3.4.0 中,增强的配置属性支持主要体现在以下几个方面:类型安全配置:增强了对配置属性的验证和类型安全支持。支持多种配置源:引入了对不同配置源(如 YAML、properties、环境变量等)的统一支持。更好的 IDE 支持:增强的 IntelliJ IDEA 和其他 IDE 的支持,提高了开发者的工作效率。
2025-01-09 15:25:24
1061
原创 Jackson反序列化LocalDateTime 为String
JsonFormat: 这是Jackson库提供的一个注解,用于指定JSON序列化和反序列化时的格式。用于指定某个字段或属性,或整个类的JSON序列化或反序列化格式。它允许在将数据类型转换为或从JSON格式转换时自定义日期、数字、布尔值等数据类型的格式。shape = JsonFormat.Shape.STRING: 这指定了该字段在JSON中应该被序列化为一个字符串(默认情况下,LocalDateTime可能不会被序列化为特定格式的字符串)。
2024-12-27 14:39:12
741
原创 线上几百万的消息积压如何处理?
分析原因首先,得搞清楚为啥会积压这么多消息。是消费者处理能力不够?还是消息生产者发送得太猛?或者是系统哪里出了瓶颈?找到原因后,咱们才能对症下药。紧急扩容如果是因为消费者处理能力不够,那最直接的办法就是加机器、加进程,扩容啊!赶紧多部署几个消费者实 例,让它们一起分担压力。这一步虽然简单粗暴,但往往很有效。
2024-12-26 17:16:39
248
原创 解决MySQL对同时存在数字和英文的字段排序问题
假设我们有一个表,其中有一个字段存储了一些包含数字和英文的值,例如"a", “1#DV10-LC9#”, “1#DV10-LC11#”, “1#DV10-LC12#”, “b2”, "1#DV10-LC10#"等等。我们希望对这些值进行排序,但是直接使用MySQL的默认排序方法可能会出现问题,因为数字和英文在排序中的权重不同。在实际的数据库管理中,经常会遇到需要对同时存在数字和英文的字段进行排序的情况。我们可以创建一个自定义的排序函数,该函数将数字和英文进行分离,分别进行排序,最后合并结果。
2024-12-16 18:00:29
209
原创 idea 集成docker 编写Dockerfile 构建SpringBoot 项目并且运行
由于墙的原因,所有需要自己下载jdk镜像到docker 并且运行,不要用公共的jdk镜像。# 将jar包添加到容器中,并命名为 springboot_docker.jar。# SpringBoot项目配置的端口号为8080,需要将8080暴露出去。# 设置环境变量以使用 UTF-8 编码 ,时区为中国上海时区。
2024-12-09 16:16:19
171
原创 Spring表达式语言SpEL
public static List list = Arrays.asList("矿泉水", "雪碧", "可乐", "牛奶");* 关系运算、逻辑运算和算术运算:关系运算符有lt (''), le ('='),parser.parseExpression("map['man']").setValue(rootObj,"男人");parser.parseExpression("list[1]").setValue(rootObj,"脉动");
2024-11-13 16:01:32
856
原创 响应json去除参数值为空的参数-springboot配置
-jackson 开始-->--jackson 结束-->1.添加jackson相关依赖。
2024-10-18 16:01:08
335
原创 Hutool一个非常好用的Java工具类
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
2024-09-30 13:53:08
173
原创 linux全局搜索文件名的方法是什么
Linux服务器限时活动,0元免费领,库存有限,领完即止!是要搜索的目录路径,可以是当前目录(.),也可以是指定的目录路径。命令以获得足够的权限来访问系统中的所有文件。请注意,在搜索整个系统时,可能需要使用。是要搜索的文件名或通配符模式。命令来进行全局搜索文件名。在Linux中,可以使用。
2024-07-06 11:25:43
1126
原创 linux 根据Pid 查询对应启动程序文件目录
1. ps -ef|grep [过滤的字符] 例如: ps -ef|grep java。2. 进入 /proc 目录,即可看到7262的文件目录。4. ls -ail ,即可找到对应为全路径文件信息。需要根据pid查看启动文件所在目录。3.进入cd 7262。
2024-07-06 11:20:31
908
原创 查看日志的三种方式(匹配关键字筛选,时间段筛选)
tail -10f xxx.log | grep '2021-02-04 11:4[0-9]' ------查找最新的10行中时间范围在2021-02-04 11:40-2021-02-04 11:49范围中的行。tail -10f xxx.log | grep -A 5 [关键字] ----------查看最新的10行中与关键字匹配的行加上匹配行后的5行。tail -10f xxx.log | grep [关键字] -------查找最新的10行中与关键字匹配的行。2、使用tail命令。
2024-07-05 19:51:43
1217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人