
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文全面介绍了Java持久层框架MyBatis的核心概念与使用。MyBatis是一款轻量级ORM框架,通过XML/注解实现SQL与代码解耦,支持动态SQL和复杂关系映射。核心组件包括:SqlSessionFactory(全局唯一工厂)、SqlSession(单次会话)、Mapper接口(动态代理)和配置文件。文章详细解析了MyBatis执行流程、核心配置文件结构及Mapper XML编写规范,并展
Spring AOP是一种面向切面编程的实现,用于解决业务代码中横切逻辑(如日志、权限校验等)的重复性问题。其核心价值在于实现横切逻辑与业务逻辑的解耦,避免代码冗余和维护困难。Spring AOP通过动态代理技术实现,包括JDK动态代理(基于接口)和CGLIB动态代理(基于继承)两种方式。JDK动态代理要求目标类实现接口,而CGLIB则适用于无接口的类。通过切面统一处理通用逻辑,业务代码可以专注于
Spring声明式事务摘要 Spring声明式事务通过@Transactional注解简化事务管理,遵循ACID原则确保数据一致性。核心要点: 两种实现方式: 编程式事务:手动控制事务边界,灵活性高但代码侵入性强 声明式事务(推荐):通过注解自动管理事务,降低耦合度 核心原理:基于AOP动态代理实现,代理对象在方法调用前后添加事务逻辑 常见失效场景: 注解标注在非public方法上 异常被内部捕获
Spring IoC容器核心摘要 Spring IoC容器是Spring框架的核心,实现了控制反转模式,自动管理Java对象(Bean)的创建、依赖注入和生命周期。容器通过两种主要接口提供功能: 基础容器:BeanFactory提供核心功能,采用懒加载策略 高级容器:ApplicationContext扩展更多功能,默认饿汉式加载 容器核心功能包括: 通过注解/XML配置创建并注册Bean 管理完
本文介绍了在Spring中实现用户上下文传递的三种方案:单机、异步和分布式环境。单机环境下推荐使用ThreadLocal结合拦截器/过滤器,通过线程本地变量存储用户信息,确保线程安全。核心实现包括定义UserContextHolder工具类进行用户信息的存储和获取,以及使用拦截器在请求处理前后设置和清理上下文。文章还提供了异步操作时的上下文传递解决方案,并强调必须及时清理ThreadLocal以避
MySQL存储引擎是负责数据存储和读取的底层组件,采用插件式架构。InnoDB是5.5+版本默认引擎,支持ACID事务、行级锁、MVCC和聚簇索引,适合高并发OLTP场景。MyISAM是5.5前默认引擎,采用表级锁,查询速度快但不支持事务,适合读多写少场景。InnoDB通过redo/undo日志实现事务,MyISAM则通过分离的.MYD/.MYI文件存储数据。优化建议:InnoDB优先使用自增主键
Spring Boot是一个轻量级、约定大于配置的快速开发框架,旨在简化Spring应用的初始搭建和开发过程。其核心特性包括自动配置(基于条件注解实现)、起步依赖(解决依赖管理问题)、内嵌服务器(无需外部部署)和灵活的配置管理体系。核心注解@SpringBootApplication整合了自动配置、组件扫描和配置类功能。工程结构采用分层设计,包含启动类、控制器、服务层、数据访问层等标准模块,配合多
MySQL事务是数据库操作的不可分割单元,确保一系列操作要么全部成功(提交),要么全部失败(回滚)。它具有ACID四大特性:原子性(全做或全不做)、一致性(数据约束保持)、隔离性(事务间互不干扰)和持久性(提交后永久保存)。MySQL默认支持事务,可通过自动提交或手动控制(START TRANSACTION/COMMIT/ROLLBACK)使用。并发事务可能导致脏读(读取未提交数据)、不可重复读(
Redis是一款高性能键值对非关系型数据库,采用内存存储并支持持久化。其核心结构分为逻辑层面(键空间和多种底层数据结构)和物理层面(单线程模型与分布式架构)。Redis通过单线程+IO多路复用实现高并发,支持String、Hash等数据类型,底层根据数据规模选择最优结构(如压缩列表或哈希表)。数据流转流程包括命令解析、内存操作和持久化处理。分布式环境下采用主从复制和集群分片机制,兼顾性能与扩展性。
Redis 常用命令摘要 核心内容 基础命令:KEYS(慎用)、EXISTS、DEL、EXPIRE/TTL、TYPE、FLUSHDB/ALL(慎用) 数据类型: String:SET/GET/INCR/DECR Hash:HSET/HGET/HGETALL List:LPUSH/RPUSH/LPOP/RPOP Set:SADD/SMEMBERS/SINTER ZSet:ZADD/ZRANGE/ZR







