AOP的理解

AOP即 面向方面的编程,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。

AOP 和 IOC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java 类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java 类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的。

Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。

AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。

AOP即代理设计模式实现细节:用较少的代码实现一个简单的代理模式。

如果不用AOP,实现一个代理模式需要实现的步骤

声明接口:注册需要被监听行为名称

接口实现类: 扮演被监控的类,负责被监听方法实现细节

InvocationHanler接口实现类:

1.次要业务/增强业务

2.将次要业务与被监听方法绑定执行

代理监控对象:

1.被监控类内存地址,被监控类实现的接口,

2.InvocationHandler实现类的实例对象

Spring AOP:简化代理模式实现步骤

声明接口:注册需要被监听行为名称

接口实现类: 扮演被监控的类,负责被监听方法实现细节

次要业务/增强业务

1.5.1AOP编程术语

切面(Aspect)

说白了就是次要业务

目标对象(Target)

当前需要监控的某个实例对象

织入(Weaving)

将切面插入到目标对象的目标方法的过程,即invoke行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值