AOP 即 Aspect Oriented Program 面向切面编程
在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能。
- 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务
- 所谓的周边功能,比如性能统计,日志,事务管理等等
周边功能在 Spring 的面向切面编程AOP思想里,即被定义为切面
AOP 当中的概念:
- 切入点(Pointcut) 在哪些类,哪些方法上切入(where)
- 通知(Advice) 在方法执行的什么实际(**when:**方法前/方法后/方法前后)做什么
- 切面(Aspect) 切面 = 切入点 + 通知,通俗点就是:在什么时机,什么地方,做什么
- 织入(Weaving) 把切面加入到对象,并创建出代理对象的过程。(由 Spring 来完成)