自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码匠

码匠,编码的匠人,程序的艺术家。

  • 博客(30)
  • 收藏
  • 关注

原创 码匠技术大纲

码匠技术大纲

2023-08-07 19:04:26 114

原创 第17章-Spring AOP经典应用场景

AOP 提供了一种面向切面操作的扩展机制,通常这些操作是与业务无关的,在实际应用中,可以实现:日志处理、事务控制、参数校验和自定义注解等功能。

2023-08-08 16:13:59 446

原创 二、框架篇

框架篇目录

2023-08-07 19:00:29 185

原创 第16章-Spring AOP中的基础API

前面我们讲了基于 XML 和注解两种方式配置 AOP,Spring 还提供了更底层的 API 来定义 AOP。

2022-11-27 16:26:54 465 1

原创 第4章-MyBatis实践之动态语句

动态 SQL 是 MyBatis 的强大特性之一,通过不同参数生成不同的 SQL,可以动态地对数据持久层进行操作,而不需要每个数据访问操作都要进行手动地拼接 SQL 语句。

2022-10-08 10:27:01 196

原创 第3章-MyBatis实践之结果映射

MyBatis 是一款优秀的持久层框架,它的强大之处正是 SQL 语句映射,这一章介绍常用的结果映射。

2022-09-14 11:55:06 112

原创 第2章-MyBatis实践之增删改查

MyBatis 是一款优秀的持久层框架,有自定义 SQL、高级映射等功能,支持 XML 方式或注解方式来配置映射。

2022-08-01 09:13:13 85

原创 第1章-MyBatis介绍与配置

文章目录一、概述二、SqlSessionFactory1. 构建2. 映射3. 运行三、Configuration1. 属性设置2. 数据源3. 类型别名4. 映射器四、附录1. 示例代码2. 参考文献MyBatis 是一款优秀的持久层框架,有自定义 SQL、高级映射等功能,支持 XML 方式或注解方式来配置映射。一、概述MyBatis 应用都以一个 SqlSessionFactory 实例为核心,它可以构建 SqlSession 实例,SqlSession 提供了数据库操作的所有方法,也可以直接执行

2022-05-19 11:01:37 350

原创 第15章-Spring AOP切点表达式(Pointcut)详解

文章目录一、概述二、切点表达式配置1. 内置配置2. 注解配置3. 公共配置二、切点表达式类型**`execution`****`within`****`this`****`target`****`args`****`bean`****`@within`****`@target`****`@annotation`****`@args`**三、切点表达式组合四、附录1. 常用注解2. 切点表达式类型3. 示例代码Spring 的 AOP 中的一个核心概念是切点(Pointcut),切点表达式定义通知(Adv

2022-05-13 15:54:56 13942 1

原创 第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

2022-04-27 16:32:41 1340 2

原创 第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 的方

2022-04-18 14:59:34 223

原创 第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

2021-12-27 18:16:37 540

原创 第11章-Spring的AOP和动态代理

文章目录一、概述1. AOP 术语2. 通知类型二、动态代理1. JDK 动态代理2. CGLIB 动态代理三、附录1. 示例代码Spring 除 IoC 容器外的另一个核心功能是 AOP,面向切面编程是对编程结构的另一种思考。一、概述AOP 提供一种通用的扩展机制,在业务操作前后提供一些切面的操作,这些操作通常是和业务无关的,例如:日志记录、性能统计、安全控制、事务处理、异常处理等。1. AOP 术语AOP(Aspect Oriented Programming)面向切面编程的概念比较抽象,主要

2021-12-26 11:01:44 288

原创 第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

2021-12-25 10:40:39 423

原创 第9章-Spring的事件机制

文章目录一、事件机制1. 发布事件2. 监听事件3. 基于注解监听二、顺序监听三、异步监听四、附录1. 常用注解2. 示例代码Spring 容器提供了事件管理机制,Spring 容器内部很多节点都会发布事件,也支持自定义事件。一、事件机制事件机制是基于监听者设计模式的实现,监听者模式包括三个部分:事件源:具体事件源,用于发布事件事件对象:封装事件源对象和事件相关信息,用于在事件源和监听器之间传递信息事件监听器:监听事件,用于对事件进行处理Spring 提供了 ApplicationEven

2021-12-19 12:03:44 562 2

原创 第8章-Spring的环境抽象

文章目录一、条件注册二、Profiles1. Profile 配置2. Profile 激活三、Properties1. PropertySource 抽象2. 优先级3. 占位符四、附录1. 常用注解2. 示例代码Spring 通过 Environment 接口提供了容器的环境抽象,该接口包含两个关键部分 Profiles 和 Properties。一、条件注册在讲 Profile 之前,先了解 Spring 容器根据条件注册 Bean 的实现。Condition 接口和 @Conditional

2021-12-07 17:34:52 351

原创 第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

2021-12-05 17:08:55 713

原创 第6章-Spring同类型多个Bean的注入

文章目录一、类型注入冲突二、解决冲突1. 注入主要的2. 注入指定的三、注入多个 Bean1. 注入集合2. 注入 Map3. Bean 的顺序四、附录1. 常用注解2. 示例代码Spring 容器中的 Bean 之间会有很多依赖关系,在注入依赖的时候,容器需要明确知道注入的是哪一个 Bean。一、类型注入冲突Spring 容器中的 Bean 依赖可以通过名称注入,或者类型注入。通过名称注入名称注入会指定一个明确的 Bean 名称,容器不允许注册相同名称的 Bean,所以不会有任何问题。通过类型

2021-12-04 10:53:32 10073

原创 第5章-Spring三种配置方式的混合和迁移

文章目录一、配置兼容1. 优先 XML 配置2. 优先注解配置二、迁移方案1. XML 配置至注解配置2. XML 配置至 Java 配置三、附录1. 配置属性2. 常用注解3. 示例代码Spring 容器的配置方式有三种,在实际项目中,可能会遇到混合使用的情况,也可能需要从一种方式迁移到另一种方式。《Spring基于 XML 配置的容器》《Spring基于注解配置的容器》《Spring基于Java配置的容器》一、配置兼容Spring 的三种配置方式混合使用,需要兼容 XML 配置和注解配置

2021-11-29 22:02:47 226

原创 第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

2021-11-21 10:09:59 433

原创 第3章-Spring基于注解配置的容器

文章目录一、Bean 管理1. 扫描类路径配置2. 使用注解管理 Bean二、依赖管理1. 依赖注入1.1 字段注入1.2 构造器注入1.3 Setter 方法注入2. 依赖关系3. 懒加载三、附录1. 配置属性2. 常用注解3. 示例代码Spring 容器的元数据可以基于注解配置,它比 XML 配置更简洁,而且提供了更多的上下文配置。两种配置方式各有优缺点,XML 配置不会侵入源代码,配置修改后不需要重新编译源文件。你可以在项目中任意选择哪种配置方式,或者两者混合使用。参阅上一篇《Spring基

2021-11-18 20:30:30 244

原创 第2章-Spring基于XML配置的容器

文章目录一、Bean 管理1. 元数据2. Bean 实例化2.1 构造器实例化2.2 静态工厂方式实例化2.3 实例工厂方式实例化3. Bean 作用域二、依赖注入1. 依赖注入1.1 构造器注入1.2 Setter 方法注入2. 依赖关系3. 懒加载4. 自动注入三、附录1. 配置属性表2. 示例代码Spring 的核心功能就是提供一个 IoC 容器,用于管理应用程序中的 bean,在容器中配置元数据来管理 Bean 之间的依赖关系,Java 程序中的类都可以交由 Spring 容器管理。一、Bea

2021-11-17 10:23:29 328

原创 第1章-Spring的模块与应用场景

文章目录一、Spring模块1. 核心模块2. AOP模块3. 消息模块4. 数据访问模块5. Web模块6. 测试模块二、集成功能1. 目标原则2. 支持组件三、应用场景1. 典型完整的 Spring Web 应用程序2. 使用第三方 Web 框架的应用程序3. 基于 RPC 的应用程序4. 基于 EJB 的应用程序Spring 框架可以为 Java 应用程序开发提供全面的基础设施支持,它是现在非常流行的 Java 开源框架,对于一个 Java 开发人员来说,熟练掌握 Spring 是必不可少的。控制

2021-11-16 22:17:32 310

原创 JUnit高效实践

单元测试(Unit Testing)是指对软件中的最小可测试单元进行检查和验证,一般要根据实际情况去判定其具体含义,比如在 Java 语言中,单元可以指一个类或一个方法。JUnit 是一个 Java 语言简单、开源的单元测试框架,在 Java 开发中比较流行且常用的测试框架,希望读者能通过这篇文章来深入了解 JUnit 的特性与使用。

2020-08-05 09:41:40 240

原创 正则表达式高效实践

文章目录一、概述二、语法1. 代词2. 量词3. 元字符三、实践1. 区分贪婪模式和非贪婪模式2. 删除多余空行3. 简单获取文本中的URL4. 替换HTML标签内容5. 巧用多行编辑完成重复操作一、概述正则表达式(Regular Expression)是计算机科学的一个概念,它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串,在现在很多文本编辑器或IDE开发工具里,正则表达式通常被用来查找或替换某个模式的文本。因此,灵活运用正则表达式,对某些问题可以另辟蹊径地快速解决。二、语法正则表达式的

2020-06-17 22:33:27 244

原创 Docker高效实践

文章目录一、概述二、容器1. 获取镜像2. 运行镜像3. 进入容器三、镜像1. 使用Commit构建镜像2. 使用Dockerfile构建镜像四、仓库1. 注册账号2. 推送镜像3. 拉取镜像五、数据1. 数据卷1.1 数据卷1.2 数据卷容器2. bind mount3. tmpfs mount4. 优选方案六、网络1. 桥接模式1.1 使用默认桥接网络1.2 使用自定义桥接网络2. 主机模式一、概述Docker是一个为开发人员或系统管理员提供基于容器开发、部署和运行应用程序功能的平台。应用程序容器化

2020-06-16 21:54:10 642

原创 Postman高效实践

Postman是一款优秀的HTTP接口测试软件,测试对于开发高质量的应用不可或缺,对于后端开发,除了必要的单元测试,也应对HTTP接口层进行相应的测试,对于前端开发,除了对接口进行检验外,也可以Mock接口服务,达到与后端并行开发的目的。

2019-07-27 11:38:32 1951 1

原创 Java函数式编程

文章目录一、Lambda1. Lambda表达式2. 函数接口2.1 Function2.2 Consumer2.3 Supplier2.4 Predicate2.5 Operator二、流1. 定义流2. 流操作2.1 filter2.2 map、flatMap2.3 distinct、sorted、peek2.4 limit、skip2.5 forEach、forEachOrdered2.6 ...

2019-07-14 22:35:28 263

原创 Python在高等数学中的运用

文章目录一、问题背景二、实验目的三、实验原理与数学模型四、实验所用软件五、主要内容六、实验过程1. 函数极限的求解和两个重要极限2. 导数与微分的研究3. 定积分与不定积分以及重积分的研究4. 求微分方程的解析解七、实验结果报告与总结八、思考与深入一、问题背景高等数学应用非常广,基本上涉及到函数的地方都要用到微积分,还有在几何方面也是如此,计算机的应用让我们能简单快速处理各种高等数学中的计算,比如极限、导数、积分、微分方程等的计算。二、实验目的使用 Python 通过计算与作图,加强对极限、导数、积

2019-07-06 17:50:21 7798

原创 IDEA高效实践

IDEA(IntelliJ IDEA)是业界公认的最好开发工具之一,当然好不好也因人而异,也不要刻意去争谁强谁弱,高手往往不在乎手中的兵器是什么的。个人而言,更高效的工具适合每个开发人员,在编写代码的时候花的时间少,就有更多的时间去设计...

2019-05-13 01:22:48 5667 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除