AOP总结 1.概念:AOP,面向切面编程,一种编程的范式 2.作用:在不动原代码的情况下对方法进行修改增强 3.核心概念 <1> 代理:springAOP的核心本质是采用代理模式实现的 <2> 连接点:在springAOP中,理解为所有方法 <3> 切入点:匹配连接点的式子,描述据有共性方法的连接点 <4> 通知:若干个方法的共性功能,在切入点实行,指的是一个共性方法 <5> 切面:描述通知与切入点的对应关系 <6> 目标对象:被代理的原始对象为目标对象 <7>切入点表达式标准格式:动作关键字(访问修饰符 返回值 包名。类/接口名。方法名(参数)异常名) <8>切入点表达式描述通配符: * :匹配任意字符(常用) … :匹配多个连续的任意字符(常用) <9>切入点表达式书写技巧 @ 查询操作的返回值类型建议使用*比配 @减少使用…的形式描述包,要用在形参 @对接口进行描述,使用表示类型名,例如UserService的匹配为Serivce @方法名书写保留动词,如getById匹配为getBy* <10>通知类型 前置通知 后置通知 环绕通知 环绕通知依赖形参ProceedingJoinPoint才能实现对原始方法的调用 环绕通知可以隔离原始方法的调用执行 环绕通知方法值类型设置为Object类型 环绕通知中可以对原始方法调用过程出现的异常进行处 <11>获取节点方法的参数 JoinPoint:适用于前置,后置,返回值,抛出异常后通知,设置为方法的第一个形参 ProceedJoinPoint:适用于适用于环绕通知