Spring实战 (四) AOP
在软件开发中,分布于应用多出的功能被称为和 横切关注点 . 通常,这些横切关注点从概念上是与应用的业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑中).将这些横切关注点与业务逻辑相分离正是 面向切面编成 (AOP)所要解决的 要了解什么是AOP,首先应该了解AOP相关术语,只有完全理解这些,才能更好的掌握AOP 描述切面的常用术语有 通知(advice), 切点(pointcut), 连接点(join point). 通知(advice) 切面有目标-他必须要完成的工作,成为通知.通知定义了切面是什么以及何时使用. Spring切面可以应用5种类型的通知 Before 在方法被调用之前调用通知 After 在方法完成之后调用通知,无论方法执行是否成功 After-returning 在方法成功执行之后调用通知 After-throwing 在方法抛出异常后调用通知 Around 通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为 连接点(join point) 连接点是在应用执行过程中能够插入切面的一个点.这个点可以是调用方法时,抛出异常时,甚至修改一个字段时.切面代码可以利用这些点插入到应用的正常流程之中,并添加新的行为 切点(pointcut) 切点的定义会匹配通知所要织入的一个或多个连接点 切面(Aspect) 切面是通知和切点的结合