11.什么是AOP?

面试回答:

描述aop

1.图解 两个箭头 一个竖线

2.举个例子:日志添加。

3.怎么实现:动态代理  

如果实现了interface则用jdk 的proxy,和实现了invocationhadenler的拦截器

否则的话用cglib实现。

用在哪些方面:

权限,审计,日志

项目中的应用:

声明式事务管理

 

spring使用了aspectj框架。

首先使用jdk的动态代理,如果代理失败则使用cglib实现。

  1. 面向切面编程Aspect-Oriented-Programming

a)     是对面向对象的思维方式的有力补充

  1. Spring_1400_AOP_Introduction
  2. 好处:可以动态的添加和删除在切面上的逻辑而不影响原来的执行代码

a)     Filter

b)     Struts2的interceptor

  1. 概念:

a)     JoinPoint  释意:切面与原方法交接点 即 切入点

b)     PointCut  释意:切入点集合

c)     Aspect(切面)释意:可理解为代理类前说明

d)     Advice 释意:可理解为代理方法前说明 例如@Before

e)     Target  释意:被代理对象 被织入对象

f)      Weave  释意:织入

posted @ 2014-05-31 10:55  脚踏实地  阅读(261)  评论(0)    收藏  举报