什么是 Spring AOP
现在进入正题,首先介绍什么是 Spring AOP。官方介绍是面向切面编程。首先这是一种编程思想,基于面向对象编程(OOP)的一种补充。面向对象编程思想是指万物皆对象。处理对象的过程叫方法,面向切面编程就是指把方法看成一个整体,在不改变方法原代码的情况下改变方法执行过程。
这里所谓的“套餐”,就是底层细粒度接口的不同组合。在保留底层接口不变的前提下,中间层为调用方提供了便利。
这正是外观模式(Facade Pattern)的设计思想:
To make a complex subsystem easier to use, a simple interface should be provided for a set of interfaces in the subsystem.
为了使复杂的子系统更容易被使用,应当为子系统的众多接口提供一个简洁的高层接口。