AOP概念

AOP(面向切面编程)是一种编程范式,用于减少业务逻辑间的耦合,提高代码可重用性和开发效率。在不修改源码的情况下,AOP允许添加额外功能,如在登录功能中集成权限管理。在Spring框架中,AOP常用于对象的功能增强,通过动态代理在方法执行前后插入特定逻辑。AOP并非Spring特有,而是JavaSE的一种设计思想。
摘要由CSDN通过智能技术生成

AOP概念

什么是AOP?

AOP就是面向切面编程, 利用AOP可以对业务逻辑的各个部分进行隔离, 从而使得业务逻辑各部分之间的耦合度降低, 提高程序的可重用性, 同时提高了开发的效率

AOP通俗描述: 不通过修改源代码的方式, 在主干功能里面添加新功能

我们通过一个例子来理解什么是AOP:

这个案例很简单, 就是一个用户的简单登录功能, 原本假如我们这个登录模块的功能就仅仅是对用户输入的账号和密码提交到数据库中进行一个验证, 如果验证成功就返回true, 然后跳转到主界面中

在这里插入图片描述

  • 这个时候如果我们要在登录功能的基础上添加一个权限管理功能, 那么我们要如何实现(其实就是一个分权限登录, 这里我们假设有用户和管理员两种角色, 这两种角色的权限肯定是不同的):
  1. 如果不使用AOP实现:
    • 如果不使用AOP(面向切面编程实现), 那么我们使用传统方式肯定就是使用修改源代码的方式来完成, 具体实现如下:
      • 我们就需要在用户登录功能中在判断有这个账户之后我们还要添加一个向数据库的查询, 我们要查询,该账户的角色是一个普通用户还是一个管理员(每个账户的用户肯定是维护在数据库表中的), 如果是一个用户就跳转到用户主界面中, 如果是一个管理员就跳转到管理员主界面中
  2. 如果是使用AOP(面向切面编程)实现:
    • 通过AOP实现的如下:
      • 如果我们是通过AOP方式, 则不需要对源代码进行修改, 我们直接将分权限登录功能单独写为一个模块, 也就是将登录成功后的数据库查询工作放到一个单独的模块中开发, 开发好了之后我们可以直接使用AOP(面向切面编程)的方式将我们的分权限登录模块添加原本登录流程中的判断成功之后执行

Spring框架不仅仅是管理对象, 更多的是对管理对象的功能增强

  • 对管理的对象的功能增强就是使用的AOP(面向切面编程)

AOP核心原理: 使用动态代理的方式在执行方法的前后后者出现异常的时候加入相关的逻辑

AOP(面向切面编程)并不是Spring框架中的概念, 而是JavaSE中的一种设计思想

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值