三、AOP

devtools/2024/10/17 23:32:03/

文章目录

  • 1. AOP(概念)
  • 2. AOP(底层原理)
    • 2.1 AOP 底层使用动态代理
    • 2.2 AOP(JDK动态代理)
  • 3. AOP(术语)
    • 3.1 连接点
    • 3.2 切入点
    • 3.3 通知(增强)
    • 3.4 切面
  • 4. AOP操作(准备工作)
    • 4.1 Spring 框架一般都是基于 AspectJ 实现 AOP 操作
    • 4.2 基于 AspectJ 实现 AOP 操作
    • 4.3 在项目工程里面引入 AOP 相关依赖
    • 4.4 切入点表达式
  • 5. AOP 操作(AspectJ 注解)※
  • 6. AOP 操作(AspectJ 配置文件)
  • 7. JdbcTemplate(概念和准备)
    • 7.1 什么是 JdbcTemplate
    • 7.2 准备工作
  • 8. JdbcTemplate 操作数据库(添加)
  • 9. JdbcTemplate 操作数据库(修改和删除)
  • 10. JdbcTemplate 操作数据库(查询返回某个值)
  • 11. JdbcTemplate 操作数据库(查询返回对象)
  • 12. JdbcTemplate 操作数据库(查询返回集合)
  • 13. JdbcTemplate 操作数据库(批量操作)

1. AOP(概念)

(1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得 业务逻辑 各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能。将各 业务逻辑代码之间 或 业务逻辑代码非业务逻辑代码 之间 解耦
(3)使用登录例子说明 AOP。
在这里插入图片描述

2. AOP(底层原理)

2.1 AOP 底层使用动态代理

在这里插入图片描述

2.2 AOP(JDK动态代理)

1、使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象
在这里插入图片描述

2、编写 JDK 动态代理代码
在这里插入图片描述

在这里插入图片描述

3. AOP(术语)

3.1 连接点

在这里插入图片描述

3.2 切入点

在这里插入图片描述

3.3 通知(增强)

在这里插入图片描述

在这里插入图片描述

3.4 切面

在这里插入图片描述

4. AOP操作(准备工作)

4.1 Spring 框架一般都是基于 AspectJ 实现 AOP 操作

(1)AspectJ 不是 Spring 组成部分,独立 AOP 框架,一般把 AspectJ 和 Spirng 框架一起使用,进行 AOP 操作

4.2 基于 AspectJ 实现 AOP 操作

(1)基于 xml 配置文件实现
(2)基于注解方式实现(使用)

4.3 在项目工程里面引入 AOP 相关依赖

在这里插入图片描述

4.4 切入点表达式

在这里插入图片描述

在这里插入图片描述

5. AOP 操作(AspectJ 注解)※

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. AOP 操作(AspectJ 配置文件)

在这里插入图片描述

7. JdbcTemplate(概念和准备)

7.1 什么是 JdbcTemplate

(1)Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作

7.2 准备工作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8. JdbcTemplate 操作数据库(添加)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9. JdbcTemplate 操作数据库(修改和删除)

在这里插入图片描述

10. JdbcTemplate 操作数据库(查询返回某个值)

在这里插入图片描述

在这里插入图片描述

11. JdbcTemplate 操作数据库(查询返回对象)

在这里插入图片描述

12. JdbcTemplate 操作数据库(查询返回集合)

在这里插入图片描述

13. JdbcTemplate 操作数据库(批量操作)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/devtools/126583.html

相关文章

基于华为云智慧生活生态链设计的智能鱼缸

一. 引言 1.1 项目背景 随着智能家居技术的发展和人们对高品质生活的追求日益增长,智能鱼缸作为一种结合了科技与自然美的家居装饰品,正逐渐成为智能家居领域的新宠。本项目旨在设计一款基于华为云智慧生活生态链的智能鱼缸,它不仅能够提供…

【哈工大_操作系统理论】L2223 多级页表与快表段页结合的实际内存管理

L3.3 多级页表与快表 一页大小是4K,最大的浪费其实就是一页都空着,所以最大浪费是4K。则为了避免浪费,页大小必须小一些。 1、问题:需要很大内存空间存放页表 一般内存大小为4G,页大小为4K,则有1M个页表象…

灵当CRM data/pdf.php 任意文件读取漏洞复现

0x01 产品简介 灵当CRM是一款专为中小企业打造的智能客户关系管理工具,由上海灵当信息科技有限公司开发并运营。广泛应用于金融、教育、医疗、IT服务、房地产等多个行业领域,帮助企业实现客户个性化管理需求,提升企业竞争力。无论是新客户开拓、老客户维护,还是销售过程管…

利用Matlab处理回声信号(利用卷积运算产生一个带回声的信号)

一、.首先调用一个声音信号,以下是各种MATLAB自带的声音; 1. 鸟叫声 load chirp sound(y,Fs) 2. 敲锣声 load gong sound(y,Fs) 3. 哈利路亚 load handel sound(y,Fs) 4. 欢笑声 load laughter sound(y,Fs) 5. 啪哒声 load splat sound(y,Fs) 6. 火车声 …

点评项目-6-缓存更新策略、缓存穿透、雪崩

缓存更新策略 使用 redis 缓存记录的信息,有可能在数据库被信息被修改导致信息不一致,使用缓存更新来解决这个问题 缓存更新策略主要有三种: 1.内存淘汰(redis默认开启) 2.超时剔除(给key添加TTL时间) 3.主动更新(编写业务逻辑) 主动更新策…

ChatGPT与R语言融合技术在生态环境数据统计分析、绘图、模型中的实践与进阶应用

在短短一年多的时间里,GPT已经在多个领域展现出其独特的价值,特别是在数据统计分析领域。GPT的介入为数据处理、模型构建和结果解释带来了前所未有的便利。与此同时,R语言凭借其开源、自由、免费的特性,成为了统计分析和数据可视化…

qt creator 开发环境的安装

1.找官网 官网地址:Installation | Qt Creator Documentation 点 Parent Directory 继续点 Parent Directory 点 archive/ 2.下载在线安装器 点 online_ainstallers 选择在线安装器版本 选择对应版本后进入下载列表,根据自己的系统选择下载。 下载后…

C语言初阶小练习3(扫雷小游戏的代码实现及解读)

一、扫雷小游戏基本信息 1.1 游戏目标 游戏的主要目标是在最短的时间内,根据点击格子出现的数字找出所有非雷格子,同时避免踩到地雷。踩到一个雷即全盘皆输。 1.2 游戏玩法 游戏界面:游戏通常在一个由方格组成的网格中进行,网格…