第十七章 AOP编程

1.AOP概念

AOP(Aspect Oriented Programing)   面向切面编程 = Spring动态代理开发
以切面为基本单位的程序开发,通过切面间的相互协同,相互调用,完成程序的构建
切面 = 切入点 + 额外功能

OOP(Object Oriented Programing)   面向对象编程
以对象为基本单位的程序开发,通过对象间的彼此协同,相互调用,完成程序的构建

POP(Producer Oriented Programing) 面向过程(方法\函数)编程
以过程为基本单位的程序开发,通过过程间的彼此协同,相互调用,完成程序的构建
AOP概念:
    本质就是Spring的动态代理开发,通过代理类为原始类增加额外功能
    好处: 利于原始类的维护

注意: AOP是在OOP的基础上进行开发的,AOP不能取代OOP

2.AOP编程的开发步骤

1. 原始对象
2. 额外功能(实现MethodInterceptor接口)
3. 切入点
4. 组装切面

3.切面的名词解释

切面 = 切入点 + 额外功能

几何学
    面 = 点 + 相同性质

第十七章 AOP编程

Original: https://www.cnblogs.com/suwuji/p/16511911.html
Author: 苏无及
Title: 第十七章 AOP编程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612598/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java 面试题及答案整理(2021最新版)持续更新中~~~

    Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用…

    数据库 2023年6月9日
    095
  • MySQL8.0 DDL原子性特性

    1. DDL原子性概述 8.0之前并没有统一的数据字典dd,server层和引擎层各有一套元数据,sever层的元数据包括(.frm,.opt,.par,.trg等),用于存储表定…

    数据库 2023年6月9日
    061
  • 项目的部署和环境搭建

    项目的部署和环境搭建 cd /opt (一般项目部署的文件代码都放在/opt目录下) 3.进入项目跟目录下的docker目录: cd crm _pro/docker 4.执行doc…

    数据库 2023年6月16日
    0107
  • Java并发编程之CAS

    在Java并发编程的世界里,synchronized 和 Lock 是控制多线程并发环境下对共享资源同步访问的两大手段。其中 Lock 是 JDK 层面的锁机制,是轻量级锁,底层使…

    数据库 2023年6月11日
    074
  • 567.字符串中的排列

    滑动窗口 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2…

    数据库 2023年6月16日
    077
  • Dubbo源码(一)-SPI使用

    Dubbo 的可扩展性是基于 SPI 去实现的,而且Dubbo所有的组件都是通过 SPI 机制加载。 SPI 全称为 (Service Provider Interface) ,是…

    数据库 2023年6月11日
    096
  • maven配置本地仓库

    https://www.cnblogs.com/javajetty/p/10051156.html maven配置本地仓库 Original: https://www.cnblog…

    数据库 2023年6月9日
    083
  • 删除我的电脑设备和驱动器下迅雷云盘、百度网盘、WPS云盘、腾讯视频等标识

    使用 win+R键打开运行窗口,输入 regedit进入注册表编辑器,找到 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Current…

    数据库 2023年6月16日
    0242
  • django-nginx与uwsgi项目部署

    uwsgi是提供动态服务的 nginx反向代理 在项目中创建一个settings.py的副本。我这里重命名为copy_settings.py,将配置文件中的DEBUG=False …

    数据库 2023年6月6日
    0104
  • MySQL45讲之InnoDB加锁规则

    前言 本文介绍 MySQL InnoDB 的加锁规则,以及一些需要注意的点。 总结 可重复读隔离级别下,两个原则,两个优化,一个 bug: 原则1:加锁的基本单位是 next-ke…

    数据库 2023年5月24日
    086
  • redis简述

    redis是什么? Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、…

    数据库 2023年6月14日
    076
  • 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在 Linux中安装配置 MongoDB 说实话为什么会装 Mong…

    数据库 2023年6月11日
    0164
  • 学习笔记——Django项目中的请求

    2022-10-03 url中的位置参数 位置参数存放的位置 是子应用中的自定义的”urls.py”文件中的路由中。 位置参数的设置: 如果位置参数很多,那…

    数据库 2023年6月14日
    061
  • 正在运行转换: System.Runtime.Remoting.RemotingException: 无法加载类型“EnvDTE._DTE

    在编写T4,引用envdte时,遇到如下错误,解决方案:右击引用中的envdte,属性中将”嵌入互操作类型”为false,重新编译库即可。 错误信息如下: …

    数据库 2023年6月14日
    0100
  • 爬虫基础

    1.爬虫是什么? 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。 2.爬虫原理 _3.第一个爬虫程序 _ 1.扒取网页 : 扒取网页和基本代码 首先我们调…

    数据库 2023年6月11日
    076
  • IO模型

    Unix IO模型 对于一个套接字上的输入操作,分为两步: 等待数据准备好(从网络中到达,到内核缓冲区) 将数据从内核缓冲区复制到应用进程缓冲区 I/O模型主要为以下五种: 阻塞I…

    数据库 2023年6月11日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球