摘要:
自定义注解实现日志记录 引入所需的依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>版本号</version> <r 阅读全文
posted @ 2024-11-05 21:31
CH_song
阅读(81)
评论(0)
推荐(0)
摘要:
自定义注解实现权限校验 引入所需的依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>版本号</version> <r 阅读全文
posted @ 2024-11-05 21:30
CH_song
阅读(75)
评论(0)
推荐(0)
摘要:
线程-ThreadLocal ThreadLocal 是 Java 中的一个类,提供了一种创建线程局部变量的机制。每个访问 ThreadLocal 变量的线程都有一个独立的、初始化的变量副本。 这可以避免线程间的同步问题,因为每个线程只能访问自己的ThreadLocal变量。通过ThreadLoca 阅读全文
posted @ 2024-11-05 21:30
CH_song
阅读(19)
评论(0)
推荐(0)
摘要:
新特性lambda & stream Lambda(简化函数式接口生成的匿名内部类) Java的函数式编程是一种编程范式,它强调使用函数作为一等公民(first-class citizens),即函数可以像其他数据类型一样被赋值给变量、作为参数传递给其他函数或作为其他函数的返回值。 在Java中,函 阅读全文
posted @ 2024-11-05 21:30
CH_song
阅读(20)
评论(0)
推荐(1)
摘要:
druid配置详解 属性 说明 建议值 url 数据库的jdbc连接地址。一般为连接oracle/mysql。示例如下: mysql : jdbc:mysql://ip:port/dbname?option1&option2&… oracle : jdbc:oracle:thin:@ip:port: 阅读全文
posted @ 2024-11-05 21:29
CH_song
阅读(39)
评论(0)
推荐(0)
摘要:
Mybatis-Plus 的修改策略 Mybatis-Plus update strategy 使用Mybatis-Plus提供的更新方法时,若实体中的字段为null,默认情况下,最终生成的update语句中,不会包含该字段。但是如果为空串时还是会操作.若想改变默认行为,可做以下配置。 全局配置 在 阅读全文
posted @ 2024-11-05 21:26
CH_song
阅读(584)
评论(0)
推荐(0)
摘要:
密码处理 用户的密码通常不会直接以明文的形式保存到数据库中,而是会先经过处理,然后将处理之后得到的"密文"保存到数据库,这样能够降低数据库泄漏导致的用户账号安全问题。 密码通常会使用一些单向函数进行处理,如下图所示 常用于处理密码的单向函数(算法)有MD5、SHA-256等,Apache Commo 阅读全文
posted @ 2024-11-05 21:26
CH_song
阅读(17)
评论(0)
推荐(0)
摘要:
枚举类处理 如果传递枚举类型则使用@EnumVaLue获取其中的数据当作查询的参数 @EnumValue 当对象转化为JSON串时如果遇到枚举类型则使用其中的值当作JSON @JsonValue public enum ItemType implements BaseEnum { APARTMENT 阅读全文
posted @ 2024-11-05 21:24
CH_song
阅读(22)
评论(0)
推荐(0)
摘要:
接口文档[Knife4j] 接口文档是描述 API 接口的详细文档,通常用于沟通开发、测试和使用 API 的团队。一个好的接口文档不仅能够让开发人员明确接口的使用方法,还可以帮助使用者理解 API 的功能和预期行为。 Knife4j 使用,参考:https://doc.xiaominfo.com/d 阅读全文
posted @ 2024-11-05 21:24
CH_song
阅读(261)
评论(0)
推荐(0)
摘要:
分布式锁实现 分布式锁主流的实现方案: 基于数据库实现分布式锁 基于缓存( Redis等) 基于Zookeeper 每一种分布式锁解决方案都有各自的优缺点: 高性能:Redis最高 可靠性:zookeeper最高 分布式锁的关键是多进程共享的内存标记(锁),因此只要我们在Redis中放置一个这样的标 阅读全文
posted @ 2024-11-05 21:24
CH_song
阅读(47)
评论(0)
推荐(0)
摘要:
反射 java.lang.Class类 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 要想解剖一个类,必须先要获取到该类的Class对象 阅读全文
posted @ 2024-11-05 21:23
CH_song
阅读(13)
评论(0)
推荐(0)
摘要:
支付宝支付 官网地址:https://open.alipay.com/ 支付宝(中国)网络技术有限公司 [1] 是国内的第三方支付平台,致力于提供“简单、安全、快速”的支付解决方案 [2] 。支付宝公司从2004年建立开始,始终以“信任”作为产品和服务的核心。旗下有“支付宝”与“支付宝钱包”两个独立 阅读全文
posted @ 2024-11-05 21:23
CH_song
阅读(133)
评论(0)
推荐(0)
摘要:
支付宝退款功能 参考地址:https://opendocs.alipay.com/open/4b7cc5db_alipay.trade.refund?scene=common&pathHash=d98b006d 1、引入依赖 <dependency> <groupId>com.alipay.sdk< 阅读全文
posted @ 2024-11-05 21:22
CH_song
阅读(77)
评论(0)
推荐(0)
摘要:
阿里云手机验证码 在Java中使用阿里云的短信服务发送手机号验证码,你需要使用阿里云提供的SMS SDK。 添加依赖 <dependency> <groupId>com.aliyun.dysmsapi</groupId> <artifactId>dysmsapi</artifactId> <vers 阅读全文
posted @ 2024-11-05 21:22
CH_song
阅读(27)
评论(0)
推荐(0)
摘要:
多线程 并发与并行(了解) 并行(parallel):指多个事件任务在同一时刻发生(同时发生)。指在同一时刻,有多条指令在多个处理器上同时执行。单核CPU同一时刻只能处理一条指令,所以单核CPU做不到并行处理。 并发(concurrency):指两个或多个事件在同一个微小的时间段内发生。指在同一个时 阅读全文
posted @ 2024-11-05 21:21
CH_song
阅读(24)
评论(0)
推荐(0)
摘要:
Converter 在Spring3中引入了一个Converter接口,它支持从一个Object转为另一个Object。除了Converter接口之外,实现ConverterFactory接口和GenericConverter接口也可以实现我们自己的类型转换逻辑。 Converter接口 Conve 阅读全文
posted @ 2024-11-05 21:20
CH_song
阅读(294)
评论(0)
推荐(0)
摘要:
SpringBoot-定时任务 在Spring Boot中实现定时任务相对简单,主要可以通过使用@Scheduled注解来完成。 添加依赖:确保你的pom.xml中包含Spring Boot Starter。通常情况下,Spring Boot Web Starter已经包含了所需的依赖。 <depe 阅读全文
posted @ 2024-11-05 21:20
CH_song
阅读(40)
评论(0)
推荐(0)
摘要:
Spring AMQP基本API 1. RabbitTemplate【发接消息】 RabbitTemplate 是 Spring AMQP 的核心 API,用于发送和接收消息。它提供了多种方法来发送消息到指定的交换机和路由键。 发送消息:将消息发送到指定的交换机和路由键。 接收消息:从指定的队列中接 阅读全文
posted @ 2024-11-05 21:19
CH_song
阅读(51)
评论(0)
推荐(0)
摘要:
redis缓存常见问题及解决方案 1、缓存穿透 缓存穿透: 是指查询一个不存在的数据,由于缓存无法命中,将去查询数据库,但是数据库也无此记录,并且出于容错考虑,我们没有将这次查询的null写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要 阅读全文
posted @ 2024-11-05 21:19
CH_song
阅读(213)
评论(0)
推荐(0)
摘要:
MySql与Redis 1.Redis和MySQL如何保持数据一致性 数据同步可以有延时 一、延时双删策略 在写库前后都进行redis.del(key)操作,并且设定合理的超时时间。 public void write( String key, Object data ){ redis.delKey 阅读全文
posted @ 2024-11-05 21:18
CH_song
阅读(7)
评论(0)
推荐(0)