会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
回到顶部
次日清晨醒着眼睛
我写的代码和诗一样
博客园
首页
新随笔
联系
订阅
管理
2025年8月6日
Spring配置类注解相关应用
摘要: 相关应用 简单应用 @Configuration 被该注解标记的类,会被Spring容器进行管理 @ConfigurationProperties 会将外部配置文件的属性绑定到Java对象的属性 @SpringBootApplication public class SimpleApplicatio
阅读全文
posted @ 2025-08-06 21:11 帅气的涛啊
阅读(6)
评论(0)
推荐(0)
2025年4月19日
Java 单元测试简单扫盲
摘要: 前言 仔细回想起来,上次认真编写单元测试已经是两年前的事了。那时候觉得写单元测试是种负担。 为了应付代码覆盖率要求,常常依赖工具自动生成测试用例,有时需要启动Spring容器,有时又不需要(当时还分不清单元测试和集成测试的区别)。 直到最近在开发过程中,当需要重构代码或自测功能时,我才真正体会到单元
阅读全文
posted @ 2025-04-19 12:11 帅气的涛啊
阅读(73)
评论(0)
推荐(0)
2025年3月29日
使用AOP技术实现Java通用接口验签工具
摘要: 一、背景 在给第三方提供接口时,我们需要对接口进行验签。具体来说,当外部系统调用我们的接口时,请求中需要携带一个签名,我们接收到请求后,会解析数据并校验签名是否正确,以确保请求的合法性和安全性。 为了在不同项目中方便地使用这一功能,我们将签名校验规则封装成一个工具包。使用方只需通过简单的注解即可轻松
阅读全文
posted @ 2025-03-29 11:56 帅气的涛啊
阅读(529)
评论(0)
推荐(0)
2025年3月22日
Spring 事务的传播机制
摘要: 一、事务是什么? 将一组 sql 定义为一个事务,当某一个 sql 执行异常时,整组 sql 都将执行回滚操作。 二、Spring 事务的原理 @Transactional 注解, 通过动态代理实现。Spring 在容器初始化时,通过 BeanPostProcessor 扫描带有事务注解的 Bean
阅读全文
posted @ 2025-03-22 22:31 帅气的涛啊
阅读(71)
评论(0)
推荐(0)
2025年3月20日
Spring AOP 的实现原理
摘要: 一、AOP的基本概念 将横切关注点(日志、事务、权限)从业务逻辑中分离出来,提高代码的可维护性。 下面将解释,AOP专属名词,切面、连接点、切点、通知、目标对象、代理对象: 切面:切面是封装横切关注点的模块,比如日志记录。 @Aspect 修饰类,如 LoggingAspect 连接点:连接点就是作
阅读全文
posted @ 2025-03-20 00:08 帅气的涛啊
阅读(64)
评论(0)
推荐(0)
2025年3月18日
构建自己的 Spring Boot Starter
摘要: Starter 优势 依赖聚合:Spring Boot Starter 将一系列相关的依赖项打包成一个单一的依赖项,简化了项目的依赖管理。开发者只需引入一个 Starter,即可获得所需的所有相关依赖,无需手动逐一添加。 自动配置:Starter 内置了基于 @Conditional 注解的配置类,
阅读全文
posted @ 2025-03-18 22:08 帅气的涛啊
阅读(59)
评论(0)
推荐(0)
2025年3月17日
CompletableFuture API介绍及使用
摘要: 1. 介绍 CompletableFuture 是 Java 8 引入的一个用于异步编程的类,位于 java.util.concurrent 包中。它是对 Future 的增强,提供了更强大的功能来支持异步任务的编排、组合和处理。 2. 方法 不使用自定义线程池,会使用ForkJoinPool中的共
阅读全文
posted @ 2025-03-17 21:17 帅气的涛啊
阅读(600)
评论(0)
推荐(0)
2025年3月13日
学习高可靠Redis分布式锁实现思路
摘要: 一、分布式锁的必要性 在单体应用时代,我们使用ReentrantLock或synchronized就能解决线程安全问题。但当系统拆分为分布式架构后(目前大多数公司应该不会只是单体应用了),跨进程的共享资源竞争就成了必须要解决的问题。 分布式锁由此应运而生,但是必须解决三大核心问题: 竞态条件:多人操
阅读全文
posted @ 2025-03-13 21:55 帅气的涛啊
阅读(484)
评论(1)
推荐(2)
2025年1月22日
一种线程安全的缓存工具实现方式
摘要: 前言 在多线程环境下,缓存是一个常见的性能优化手段。然而,实现一个线程安全的缓存并不容易,尤其是在高并发场景下,如何避免重复计算、保证数据一致性是一个挑战。 最近在读《Java并发编程实战》时,书中提到了一种基于 ConcurrentHashMap 和 FutureTask 的线程安全缓存实现方式,
阅读全文
posted @ 2025-01-22 00:44 帅气的涛啊
阅读(528)
评论(2)
推荐(1)
2024年12月14日
Java线程命名问题解决
摘要: 前言 网上冲浪时刷到线程池的文章,想想看自己好像还没在实际场景中设置过线程名称,小小研究一下。 研究过程 默认命名 创建的线程都会有自己的名字,如果不设置,程序会给线程默认的名字,如Thread-0 Thread t = new Thread(() -> { System.out.println(T
阅读全文
posted @ 2024-12-14 23:43 帅气的涛啊
阅读(262)
评论(3)
推荐(0)
下一页
公告