spring aop的概念和作用

介绍

百度百科中的解释:

在软件业,AOP: Aspect Oriented Programming 的缩写,意为:面向切面编程

通过 预编译方式 和 运行期间动态代理 实现程序功能的统一维护的一种技术。

AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容

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

一句话理解

通过动态代理,在不改变源代码的情况下,在方法之前和之后增加额外的功能

应用场景

  1. 权限访问控制。如:b站有些电影只有大会员才能看
  2. 事务管理(现在较少使用aop实现事务管理)
    当 service方法成功执行时,提交事务;如果报错,就回滚事务
  3. 访问日志

实现方式

  • 基于xml配置文件,传统方式
  • 基于注解,现在主流方式

原文出处:/show_1IX2x6j2Rw5.html