AOP
- AOP:面向切面编程;Spring理念:无侵入式,核心理念:代理
- 作用:在不惊动原始设计的基础上为方法进行功能增强
- 连接点(JoinPoint):程序执行过程中的任意位置,粒度为执行方法,抛出异常,设置变量等
- 在SpringAop中,理解为方法的执行
- 切入点(PorintCut):匹配连接点的式子
- 在SpringAOP中,一个切入点可以只描述一个具体方法,也可以匹配多个方法
- 通知(Advice):在切入点处执行的操作,也就是共性功能
- 在SpringAOP中,功能最终以方法的形式呈现
- 通知类:定义通知的类
- 切面(Aspet):描述通知与切入点的对应关系
AOP切入点表达式
- 书写技巧.
- 所有代码按照标准规范开发,否则以下技巧全部失效
- 描述切入点通常描述接口,而不描述实现类
- 访问控制修饰符针对接口开发均采用public描述(可省略访问控制修饰符描述)
- 返回值类型对于增删改类使用精准类型加速匹配 ,对于查询类使用*通配快速描述
- 包名书写尽量不使用… 匹配, 效率过低,常用*做单个包描述匹配,或精准匹配
- 接口名/类名书写名称与模块相关的采用匹配,例如UserService书写成Service ,绑定业务层接口名
- 方法名书写以动词进行精准匹配,名词采用匹配,例如getByld书写成getBy,seletAII书写成selectAll
- 参数规则较为复杂,根据业务方法灵活调整
- 通常不使用异常作为匹配规则
AOP通知类型