spring 框架的面向切面编程如何理解?

如题所述

Spring提供了对AOP技术的良好封装,AOP称为面向切面编程,就是系统中有很多各不相干的类的方法,在这些众多的方法中要加入某种系统功能代码,例如:加入日志、权限判断、异常处理等,这种应用成为AOP。
实现AOP功能采用的是代理技术,客户端程序不再调用目标,而调用代理类,代理类与目标类对外具有相同的方法声明,有两种方式可以实现相同的方法声明,一是实现相同的接口,而是作为目标的子类在JDK中采用Proxy类产生动态代理的方式为某个接口生成实现类,如果要为某类个生成子类,则可以用CGLIB。
在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供,显然要创建出代理对象,至少需要目标类和Advice类。
Sping提供了这种支持,只需要在Sping配置文件中配置这两个元素即可实现代理和Aop功能,
例如:
<bean id = "proxy" type = "org.spring.framework.aop.ProxyBeanFacory">
<property name = "target" ref = ""></property>

<property name = "advisor" ref = ""></property>

</bean>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-21
spring主要内容是:IOC AOP 事务管理 远程调用 最主要的是前面三个。 你弄个小项目熟悉下就基本会用了。 spring设计的初衷就是为了方便开发设计,他得另一个有点就是对系统是非侵入式起作用。 spring上手是比较容易的,但要精通那就需要好好花点时间了。 建议看看spring in action这本书