三、AOP

文章目录

  • 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.mzph.cn/diannao/56145.shtml

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

相关文章

Element中el-table组件设置max-height右侧出现空白列的解决方法

之前就出现过这个情况,没理过,因为不影响啥除了不美观...但今天看着实在是难受,怎么都不顺眼(可能是我自己烦躁--) 试了很多网上的方法,都不得行,后面发现了这篇文章,解决了! 感谢! Element中t…

SpringBoot人事系统:企业人才资源的智能管家

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

fastadmin 多商户模式下侧边栏跳转路径BUG

记录:仅作自己项目记录,在一个域名下部署多套项目时,若是多商户模式项目会出现跳转路径问题。 修改 \manystore\library\Auth.php 文件的 getSidebar 方法 // 1 改为: $v[url] isset($v[url]) && $v[url] ? $v[url] :…

关于WPF(Windows Presentation Foundation)中Grid控件

本文将从Grid控件的基础概念开始,逐步深入探讨其特性、用法、实例代码,以及最佳实践。 1. WPF和布局简介 WPF是一种用于构建Windows桌面应用程序的UI框架,它通过XAML(Extensible Application Markup Language)使开…

PDF编辑不求人!4款高效工具,内容修改从此变得简单又快捷

咱们现在生活在一个数字时代,PDF文件可不就是工作、学习还有日常生活中经常要用的东西嘛。但遇到那些需要改动的PDF文件,是不是就觉得有点头疼啊? 因为传统的PDF文件真的不好编辑,这确实挺烦人的。不过呢,我今天要给你…

文本语义检索系统的搭建过程,涵盖了召回、排序以及Milvus召回系统、短视频推荐等相关内容

大家好,我是微学AI,今天给大家介绍一下本文详细介绍了文本语义检索系统的搭建过程,涵盖了召回、排序以及Milvus召回系统的相关内容。通过使用PyTorch框架,我们提供了样例代码,以帮助读者更好地理解和实践。该系统具有广…

VR全景摄影的拍摄和编辑软件推荐

随着虚拟现实技术的不断进步,VR全景摄影逐渐成为商业、娱乐和教育等多个领域中的重要工具。通过专业的设备与软件,摄影师能够创作出沉浸式的360度全景作品,为观众提供身临其境的视觉体验。在这篇文章中,我们将介绍VR全景摄影的相关…

【vue+printJs】前端打印, 自定义字体大小, 自定义样式, 封装共享样式

效果示例 思维导图 目录 1,基本使用1, 依赖下载2, 页面导入3, 修改字体大小(可行但不推荐) 2, 自定义样式,字体大小1, 修改字体大小(推荐)2, 自定义样式3, 封装共享样式 3, 去除页面页脚内容4, 测试案例demo, 直接cv可用5, print-js的其他参数说明 1,基本使用 1, 依赖下载 …

MyBatis-Plus 之 typeHandler 的使用

一、typeHandler 的使用 1、存储json格式字段 如果字段需要存储为json格式,可以使用JacksonTypeHandler处理器。使用方式非常简单,如下所示: 在domain实体类里面要加上,两个注解 TableName(autoResultMap true) 表示自动…

无人驾驶打造“新丝路”,驭势科技在卡塔尔设立研发运营中心

在卡塔尔多哈的街头,除了身穿阿拉伯长袍的人群和悠闲的骆驼队伍之外,又将出现一道全新的风景线,那就是来自驭势科技的无人驾驶车。10月8日,在中关村京港澳青年创新创业中心的协助与对接下,驭势科技在卡塔尔科技园正式成…

<Project-8.1.1 pdf2tx-mm> Python 调用 ChatGPT API 翻译PDF内容 历程心得

原因 用ZhipuAI,测试用的PDF里,有国名西部省穆斯林,翻译结果返回 “系统检测到输入或生成内容可能包含不安全或敏感内容,请您避免输入易产生敏感内容的提 示语,感谢您的配合” 。想过先替换掉省名、民族名等&#xff…

计量校准工作中的误差评定与不确定度

计量校准的目的是确定测量仪器的误差和不确定度,以评估其测量结果的可靠性。误差评定和不确定度计算是计量校准过程中的重要步骤。 误差评定是指通过比较测量仪器的测量结果与已知标准值之间的差异,确定仪器的准确性和精度。误差可以分为系统误差和随机误…

【Java】I/O 操作详解

📃个人主页:island1314 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 目录 1. 引言 🚀 2. File 类 📕 2.1 创建 File 对象 …

wpf实现新用户页面引导

第一步 第二部 部分代码: private void show(int xh, FrameworkElement fe, string con, Visibility vis Visibility.Visible) {Point point fe.TransformToAncestor(Window.GetWindow(fe)).Transform(new Point(0, 0));//获取控件坐标点RectangleGeometry rg new Rectangl…

精益与数字化的融合:制造业的创新之路

回望过去,精益管理作为制造业的瑰宝,以其“消除浪费、持续改进、顾客至上”的核心理念,引领了无数企业走向成功。从丰田生产方式到全球范围内的广泛实践,精益管理不仅提升了生产效率,更重塑了企业的文化和价值观。它教…

3.计算机网络_端口号

端口号的由来 运输层的作用: 在计算机网络中,运输层处在用户功能的最底层、通信部分的最高层的位置,也就是说运输层是用户数据和实际网络通信的桥梁。因此运输层屏蔽了网络的实现部分,以协议的方式向用户层提供了接口&#xff…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《计及状态量平均超限比的综合能源系统动态能量流双层优化》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

【千图网-登录_注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

【Linux进程间通信】Linux信号机制深度解析:保存与处理技巧

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:Linux “ 登神长阶 ” 🌹🌹期待您的关注 🌹🌹 ❀Linux进程间通信 📒1. 信号的保存🌊在内核中的表示🍂sigs…

Python OpenCV精讲系列 - 目标检测与识别深入理解(二十)

💖💖⚡️⚡️专栏:Python OpenCV精讲⚡️⚡️💖💖 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计,从基础概念入手,逐步深入到图像处理、特征检测、物体识…