一、1.什么是AOP及实现方式AOP:Aspect Oriented Programming的缩写,就是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。主要的功能是:日志记录,性能统计,安全控制,事物处理,异常处理等等AOP实现方式预编译-AspectJ运行期动态代理(JDK动态代理、CGLib动态代理)SpringAOP、JbossAOP2.AOP基本概念3.SPring中的AOPSpring AOP的用途Spring 的AOP实现有接口和无接口的Spring AOP实现区别4.Schema-based AOP 4.1 配置切面 aspect 切面aspect 类是对物体特征的抽象,切面就是对横切关注点的抽象这里就是植入需要进行执行的代码4.2配置切入点这些是spring的 aop 和aspect 都支持的以下只支持spring 自己的该包下所有类的所有方法该类下的指定方法 表达式 下图表达式有误execution( com.etoak.aop.TestPointCut.point(..))execution( com.etoak.aop.TestPointCut.*(..))一个完整的aop congif配置我的代码配置如下该包下的 以 Biz结尾的类下的所有方法切面类切点 就是切入对象测试类
after afterReturning 根据xml配置先后 输出 但是在before之后after thorw 切点不能正常返回 出现异常就会执行throw 正常执行就会执行after return
如果切点方法正常执行 after return 和after 会根据在 xml先后配置顺序执行after(finally)最终执行 有无异常都会执行这个通知around 环绕通知配置文件 执行顺序也是根据在 before 和 after 先后顺序执行环绕切面类代码环绕通知带参数的配置文件
带注解的 通知