介绍
百度百科中的解释:
在软件业,AOP: Aspect Oriented Programming 的缩写,意为:面向切面编程
通过 预编译方式 和 运行期间动态代理 实现程序功能的统一维护的一种技术。
AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的 耦合度降低,提高程序的 可重用性,同时提高了开发的效率。
一句话理解
通过动态代理,在不改变源代码的情况下,在方法之前和之后增加额外的功能
应用场景
- 权限访问控制。如:b站有些电影只有大会员才能看
- 事务管理(现在较少使用aop实现事务管理)
当 service方法成功执行时,提交事务;如果报错,就回滚事务 - 访问日志
实现方式
- 基于xml配置文件,传统方式
- 基于注解,现在主流方式