Spring 生态
未读
自定义 Spring Boot Starter 封装 API 请求日志切面业务组件
Spring 生态
未读
Spring Boot拦截器(Interceptor)详解
本文详细解释了Spring Boot中的拦截器(Interceptor)概念及其作用。拦截器类似于Filter,用于在Controller处理请求前执行特定任务,如日志记录、权限检查和性能监控等。文章介绍了自定义Interceptor的方法,包括实现HandlerInterceptor接口和重写三个方法。通过示例代码,展示了如何配置拦截器、处理请求和响应,并展示了多个拦截器如何按顺序执行。此外,文章还探讨了性能监控和登录检测等实际应用场景。
Spring 生态
未读
聊聊@Transactional注解和事务的使用
本文探讨了@Transactional注解和事务的使用。首先介绍了事务的概念和Spring中事务管理的两种方式:编程式和声明式。重点分析了声明式事务的优缺点,包括其粒度问题、易被忽略的问题以及失效场景。最后详细介绍了@Transactional注解的属性和失效场景,如非public方法、错误的propagation设置、错误的rollbackFor设置、类中方法调用、异常被catch、final和static方法以及数据库引擎不支持事务等。
Spring 生态
未读
浅析Spring中AOP的实现原理——动态代理
本文深入解析了Spring框架中AOP的实现原理,重点探讨了动态代理的应用。文章首先介绍了Spring AOP的实现原理,通过JDK动态代理和CGLib动态代理两种方式,详细阐述了各自的原理、优缺点及适用场景。接着,通过代码示例验证了Spring在类实现接口时使用JDK动态代理,在类没有实现接口时使用CGLib动态代理。最后,文章还介绍了如何通过配置强制Spring使用CGLib进行AOP代理。