三、AOP

news2024/11/24 14:43:43

文章目录

  • 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.coloradmin.cn/o/2208056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据丢失不再怕!四款数磁盘数据恢复据恢复工具实测心得

在办公室行政的工作中,数据恢复工具是我们不可或缺的帮手。无论是不小心删除了重要文件,还是硬盘突然罢工,这些工具总能在关键时刻帮我们力挽狂澜。今天,我就来分享一下我使用福昕数据恢复、转转大师数据恢复、超级兔子数据恢复和…

MySQL 【数字】函数大全(二)

MODPIPOWPOWERRANDROUNDSIGNSQRTTRUNCATE 1、MOD MOD(number1, number2) :返回一个数字除以另一个数字的余数。 语法: 1、MOD(number1, number2) 2、number1 MOD number2 3、number1 % number2 number1:被除数。 number2:除数。…

Qt学习系列之设计模式的小记录

Qt学习系列之设计模式的小记录 前言Qt中的设计模式使用情况数据模型视图组建代理 小tips虚函数:基类的不同具体使用界面设计后台显示 报错解决 总结 前言 在软件设计师中的设计模式有提到设计模式有三种类型: 创建型:工厂方法模式、抽象工厂…

上海AI实验室CVT-Occ时间融合利用视差搜索刷新occ3DWaymo SOTA

上海AI实验室提出CVT-Occ:通过时间融合利用视差搜索刷新occ3D-Waymo SOTA Abstract 基于视觉的3D占据预测由于单目视觉在深度估计上的固有局限性而面临显著挑战。本文介绍了CVT-Occ,一种新颖的方法,通过时间上的体素几何对应进行时间融合&a…

华为OD机试 - 最快到达医院的方法(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

欧洲气象局开源数据如何通过大模型预测未来天气

气象预测依赖于全球各地的观测数据、复杂的数学模型和高性能计算资源。欧洲气象局(ECMWF,European Centre for Medium-Range Weather Forecasts)作为世界领先的气象预报机构,不仅提供精确的天气预报服务,还向公众和科研…

获取鸿蒙设备Udid遇到的问题

参考官方文档:注册调试设备-调试应用(HarmonyOS)-AppGallery Connect帮助中心 - 华为HarmonyOS开发者 (huawei.com) 坑一:The sdk hdc.exe version is too low, please upgrade to the latest version. 升级dev工具和sdk配置为api…

google域名邮箱:如何创建并管理邮箱账户?

google域名邮箱设置教程?如何开通Google域名邮箱? Google域名邮箱提供了一个专业且功能强大的平台,允许用户使用自定义域名创建和管理邮箱账户。烽火将详细介绍如何创建并管理Google域名邮箱账户,帮助您充分利用这一强大的工具。…

Java Mail腾讯企业邮箱或其他邮箱发送邮件失败bug记录

问题出现情况 邮件发送时debug用F8逐步运行可以成功发送邮件,但是用F9或者直接运行程序却发送失败未开启mail的debug模式的报错日志是下面这个:org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is java…

基于RPA+AI的网页自动填写机器人 | OPENAIGC开发者大赛高校组优秀作品

在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给…

TXS0104 LSF0102 原理理解

具体参数请查看数据手册,在此不必赘述了。TXS0104 数据手册 现主要对TXS0104 结构原理进行解析: 电平转换电路结构可参考如下电路: 对于gate bias 部分电路具体细节有兴趣的可以了解下。 对于LSF0102 系列的电平转换芯片 LSF0102 数据手…

【人工智能学习之PaddleOCR训练教程】

具体的训练教程: 准备数据集 OCR数据集 (以下文字转载官方文档ocr_datasets) 1. 文本检测 1.1 PaddleOCR 文字检测数据格式1.2 公开数据集 1.2.1 ICDAR 2015 2. 文本识别 2.1 PaddleOCR 文字识别数据格式2.2 公开数据集 2.1 ICDAR 2015 …

使用Spring Security实现用户-角色-资源的权限控制

文章目录 一、基于角色的请求控制二、加载用户角色信息三、角色与资源的关联四、测试角色权限控制1. 未登录用户访问受保护资源2. 登录用户访问受保护资源3. 角色不足的用户访问受保护资源(把前面改成.roles("USER")) 五、自定义异常处理1. 自…

CANoe的数据回放功能

文章目录 CANoe简介1.Offline回放功能2.Replay Block回放模块3.两者的异同 CANoe简介 CANoe(CAN open environment): 用于汽车ECU网络仿真、数据分析、测试和诊断,还可以进行数据回放、程序刷写等。具有实时报文跟踪、数据解析及…

Android开发启动页跳过倒计时效果

Android开发启动页跳过倒计时效果 app启动页都会放些广告图,然后倒计时跳过。 一、思路: 不是很难,就用用个倒计时控制mHandler.sendEmptyMessageDelayed(WHAT_COUNT_DOWN, 100); 二、效果图: 三、关键代码: publ…

消息队列面试题——第二篇

1. rocketmq、rabbitmq、kafka的区别 架构设计和消息模型 特性rocketmqrabbitmqkafka消息模型基于主题和消费组,支持发布/订阅和点对点两种模型基于队列模型,支持发布/订阅和点对点两种模型基于分区的主题模型,主要用于日志流式处理和高吞吐…

基于SSM创城志愿者管理系统JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

RNN心脏病预测

本文为为🔗365天深度学习训练营内部文章 原作者:K同学啊 一 前期准备 1.数据导入 import pandas as pd from keras.optimizers import Adam from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split from sklearn.p…

jenkins 插件Publish Over SSH

一、安装插件 二、配置sshserver http://192.168.31.156:8080/manage/configure 三、添加自由风格:PublishOverSSHDemo 我们将工作目录:/var/lib/jenkins/workspace/PublishOverSSHDemo下的图片m3.jpeg 同步到目标143服务器目录:/root/imag…

Mysql(七) --- 索引

文章目录 前言1.简介1.1.索引是什么?1.2.为什么使用索引? 2.索引应该使用什么数据结构?2.1.Hash2.2.二叉搜索树2.3.N叉树2.4.B树2.4.1. 简介2.4.2. B树的特点2.4.3. B树和B树的对比 3.Mysql中的页3.1.为什么要使用页3.2.页文件头和页文件尾3.3.页主体3.…