AOP(面向切面编程)

AOP的概述

AOP又叫面向切面编程。
AOP采取横向抽取机制,取代了传统的纵向继承体系。
Spring的AOP采用了春Java实现,不需要专门的编译过程和类加载器,子啊运行期间通过动态代理的方式向目标对象注入增强代码。

AOP的应用场景

在不修改源码的情况下对程序进行增强
权限校验、日志记录、性能监控、事务控制

代理模式(静态代理和动态代理)

静态代理(使用继承关系实现、装饰者模式)
优点:可以在不修改目标对象的功能的前提下,对目标对象进行功能扩展
缺点:因为代理对象需要与目标对象 实现一样的接口,所以队友很多代理类,同时接口一旦增加方法,就要对目标对象和代理对象都进行维护。(通过动态代理可以解决这个问题)
动态代理(JDK动态代理、cglib动态代理)
优点:有了目标对象,只要通过代理工厂就可以为所有的目标对象创建工厂对象。
缺点:目标对象必须至少实现一个接口,代理对象强制转换时,只能转成目标对象所实现的接口类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值