Spring总结(二)

AOP

1、背景
AOP(Aspect-Oriented Programming)是对Object-Oriented Programming (OOP)的补充,
OOP通过类的继承实现功能的重用,如果某个功能是多个不同类型的类都需要具有的话,OOP就解决不了这个问题,这样就需要AOP来帮助我们
AOP通过切面来达到我们的实现可以跨越不同对象和类型。
Spring中的AOP主要用于:
(1)       提供声明式企业服务,比如声明的事务管理
(2)       允许使用者实现定制的aspects, 这是对OOP的补充。
 
2、概念
Joinpoint(连接点):程序执行过程中的某个特定的点。比如某个方法的调用或者异常。
通常我们希望在这个joinpoint上执行某个特殊的功能。Spring的AOP目前只支持连接点为方法的调用。
Aspect(切面):横切多个对象的关注点的模块化。比如事务处理,我们有多个对象都需要实现事务处理的功能,Aspect就是我们将多个对象共同关注的功能抽出独立出来。
Advice(通知):在某个特定的Joinpoint上切面执行的动作。通常我们通过拦截器interceptor或者advisor来实现,
Pointcut(切入点):符合某种规则的连接点。
目标对象:被代理的对象。
AOP代理:AOP框架创建的对象,用来代理我们的目标对象。
 
Spring缺省使用j2se动态代理来作为AOP的代理,如果要代理的类没有继承任何接口,spring使用CGLIB代理。Spring使用org.springframework.aop.framework.ProxyFactoryBean来产生代理对象。
 
3、简化代理定义
在实际开发中常常有许多相似的代理定义,那么我们可以创建一个模板bean,这个bean本身不会初始化,每个需要创建的代理都定义为这个bean的子bean。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值