第4章-MyBatis实践之动态语句 动态 SQL 是 MyBatis 的强大特性之一,通过不同参数生成不同的 SQL,可以动态地对数据持久层进行操作,而不需要每个数据访问操作都要进行手动地拼接 SQL 语句。
第1章-MyBatis介绍与配置 文章目录一、概述二、SqlSessionFactory1. 构建2. 映射3. 运行三、Configuration1. 属性设置2. 数据源3. 类型别名4. 映射器四、附录1. 示例代码2. 参考文献MyBatis 是一款优秀的持久层框架,有自定义 SQL、高级映射等功能,支持 XML 方式或注解方式来配置映射。一、概述MyBatis 应用都以一个 SqlSessionFactory 实例为核心,它可以构建 SqlSession 实例,SqlSession 提供了数据库操作的所有方法,也可以直接执行
第15章-Spring AOP切点表达式(Pointcut)详解 文章目录一、概述二、切点表达式配置1. 内置配置2. 注解配置3. 公共配置二、切点表达式类型**`execution`****`within`****`this`****`target`****`args`****`bean`****`@within`****`@target`****`@annotation`****`@args`**三、切点表达式组合四、附录1. 常用注解2. 切点表达式类型3. 示例代码Spring 的 AOP 中的一个核心概念是切点(Pointcut),切点表达式定义通知(Adv
第14章-Spring AOP通知(Advice)详解 文章目录一、概述二、通知的定义1. 前置通知2. 后置通知3. 环绕通知4. 最终通知5. 异常通知三、通知的参数1. 切入点2. 通知的参数传递四、通知的顺序五、附录1. 常用注解2. 示例代码Spring 的 AOP 功能中一个关键概念是通知(Advice),与切点(Pointcut)表达式相关联在特定节点织入一些逻辑,Spring 提供了五种类型的通知。理解 AOP 概念参阅:《Spring的AOP和动态代理》配置 AOP 参阅:《Spring基于注解配置AOP》《Spring基于XML配置AO
第13章-Spring基于XML配置AOP 文章目录一、概述二、AOP 使用1. 定义切面2. 定义切点3. 定义通知4. 通过 Advisor 实现三、附录1. 常用配置2. 示例代码Spring 的 AOP 功能是基于 AspectJ 实现的,支持使用 XML 方式定义 AOP 切面。理解 AOP 概念参阅:《Spring的AOP和动态代理》基于注解配置参阅:《Spring基于注解配置AOP》一、概述Spring 项目使用 AOP 功能需要定义三个部分:切面、切点和通知。二、AOP 使用Spring 基于 XML 配置 AOP 的方
第12章-Spring基于注解配置AOP 文章目录一、概述二、AOP 使用1. 定义切面2. 定义切点3. 定义通知4. 通过 Advisor 实现三、附录1. 常用配置2. 常用注解3. 示例代码Spring 的 AOP 功能是基于 AspectJ 实现的,支持使用注解声明式定义 AOP 切面。理解 AOP 概念参阅:《Spring的AOP和动态代理》一、概述Spring 项目使用 AOP 功能需要定义三个部分:切面、切点和通知。二、AOP 使用Spring 基于注解配置 AOP 需要启用 AspectJ 自动代理功能。基于 Jav
第11章-Spring的AOP和动态代理 文章目录一、概述1. AOP 术语2. 通知类型二、动态代理1. JDK 动态代理2. CGLIB 动态代理三、附录1. 示例代码Spring 除 IoC 容器外的另一个核心功能是 AOP,面向切面编程是对编程结构的另一种思考。一、概述AOP 提供一种通用的扩展机制,在业务操作前后提供一些切面的操作,这些操作通常是和业务无关的,例如:日志记录、性能统计、安全控制、事务处理、异常处理等。1. AOP 术语AOP(Aspect Oriented Programming)面向切面编程的概念比较抽象,主要
第10章-Spring的资源管理 文章目录一、Resource 接口1. 内置实现2. 协议前缀二、ResourceLoader 接口1. 资源注入2. Application Context 资源三、附录1. 示例代码Spring 提供了简单的接口来管理资源,并支持多种资源类型。一、Resource 接口Java 自带的 java.net.URL 类只能处理 URL 前缀的资源,不能访问更多类型的低级资源。因此,Spring 提供了 Resource 接口以及多种资源类型的实现。public static void main(S
第9章-Spring的事件机制 文章目录一、事件机制1. 发布事件2. 监听事件3. 基于注解监听二、顺序监听三、异步监听四、附录1. 常用注解2. 示例代码Spring 容器提供了事件管理机制,Spring 容器内部很多节点都会发布事件,也支持自定义事件。一、事件机制事件机制是基于监听者设计模式的实现,监听者模式包括三个部分:事件源:具体事件源,用于发布事件事件对象:封装事件源对象和事件相关信息,用于在事件源和监听器之间传递信息事件监听器:监听事件,用于对事件进行处理Spring 提供了 ApplicationEven
第8章-Spring的环境抽象 文章目录一、条件注册二、Profiles1. Profile 配置2. Profile 激活三、Properties1. PropertySource 抽象2. 优先级3. 占位符四、附录1. 常用注解2. 示例代码Spring 通过 Environment 接口提供了容器的环境抽象,该接口包含两个关键部分 Profiles 和 Properties。一、条件注册在讲 Profile 之前,先了解 Spring 容器根据条件注册 Bean 的实现。Condition 接口和 @Conditional
第7章-Spring的Bean生命周期和扩展点 文章目录一、生命周期二、Bean 的扩展1. 专用扩展点2. 通用扩展点3. 生命周期扩展点示例3.1 实例化3.2 属性填充3.2 初始化3.4 销毁4. 生命周期扩展点顺序三、附录1. 配置属性2. 常用注解3. 示例代码Spring 的核心是 IoC 容器,了解 Bean 的生命周期非常重要,这对 Spring 在项目中的应用和扩展都很有帮助。一、生命周期Bean 的生命周期主要为实例化、属性填充、初始化和销毁 4 个阶段,加上类加载和使用阶段,整个流程如下:二、Bean 的扩展Sprin
第6章-Spring同类型多个Bean的注入 文章目录一、类型注入冲突二、解决冲突1. 注入主要的2. 注入指定的三、注入多个 Bean1. 注入集合2. 注入 Map3. Bean 的顺序四、附录1. 常用注解2. 示例代码Spring 容器中的 Bean 之间会有很多依赖关系,在注入依赖的时候,容器需要明确知道注入的是哪一个 Bean。一、类型注入冲突Spring 容器中的 Bean 依赖可以通过名称注入,或者类型注入。通过名称注入名称注入会指定一个明确的 Bean 名称,容器不允许注册相同名称的 Bean,所以不会有任何问题。通过类型
第5章-Spring三种配置方式的混合和迁移 文章目录一、配置兼容1. 优先 XML 配置2. 优先注解配置二、迁移方案1. XML 配置至注解配置2. XML 配置至 Java 配置三、附录1. 配置属性2. 常用注解3. 示例代码Spring 容器的配置方式有三种,在实际项目中,可能会遇到混合使用的情况,也可能需要从一种方式迁移到另一种方式。《Spring基于 XML 配置的容器》《Spring基于注解配置的容器》《Spring基于Java配置的容器》一、配置兼容Spring 的三种配置方式混合使用,需要兼容 XML 配置和注解配置
第4章-Spring基于Java配置的容器 文章目录一、Bean 管理1. 元数据2. Full 模式和 Lite 模式3. 组合配置4. 扫描类路径配置二、依赖管理1. 依赖注入1.1 参数注入1.2 方法注入2. 依赖关系3. 懒加载三、附录1. 常用注解2. 示例代码Spring 容器的元数据可以基于 Java 代码配置,它像 XML 配置一样不侵入源代码,同时也支持注解配置。你可以在项目中任意选择哪种配置方式,或者多种方式共存。一、Bean 管理1. 元数据基于 Java 配置 Bean,定义一个类并使用 @Configuratio
第3章-Spring基于注解配置的容器 文章目录一、Bean 管理1. 扫描类路径配置2. 使用注解管理 Bean二、依赖管理1. 依赖注入1.1 字段注入1.2 构造器注入1.3 Setter 方法注入2. 依赖关系3. 懒加载三、附录1. 配置属性2. 常用注解3. 示例代码Spring 容器的元数据可以基于注解配置,它比 XML 配置更简洁,而且提供了更多的上下文配置。两种配置方式各有优缺点,XML 配置不会侵入源代码,配置修改后不需要重新编译源文件。你可以在项目中任意选择哪种配置方式,或者两者混合使用。参阅上一篇《Spring基