SpringAOP-什么是面向切面编程?
一.什么是面向切面编程
- AOP简介
AOP为Aspect Oriented Programming的缩写,意为:面向对象编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。
- 为什么使用AOP编程范式?
分离功能性需求和非功能性需求
集中处理某一关注点
侵入性少,增强代码可读性及可维护性
- AOP应用场景
权限控制、缓存控制、事务控制、分布式追踪、异常处理等
- 举个例子
如果你要在Service层的某些特定方法需加上权限验证,使用OOP思想的话只能在方法内部添加验证身份的代码,例如
public void insert() { checkUserAdmin.check(); //加入权限验证方法 repository.insert(); //调用dao层插入数据库一条记录 }