AOP 面向切边编程

AOP 面向切边编程

· Aop 利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓切面:简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或者责任封装起来,便于就按少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性
使用横切技术,AOP把软件系统分为两个部分,核心关注点和横切关注点 业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日志、事物。AOP的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。

Spring中的AOP

提供声明式事务:允许用户自定义切面
Spring中AOP 代理由Spring的IOC容器负责生成、管理,其依赖关系也由IOC容器负责管理。因此,AOP代理可以直接使用容器中的其它bean实例作为目标,这种关系可由IOC容器的依赖注入提供。
Spring AOP就是基于动态代理的,如果要代理的对象,实现了某个接口,那么Spring AOP会使用JDK Proxy,去创建代理对象,而对于没有实现接口的对象,就无法使用 JDK Proxy 去进行代理了,这时候Spring AOP会使用Cglib 。
在这里插入图片描述

Spring Aop 中的动态代理

动态代理(jdk代理)
特点:
1.不需要自己写代理对象,但是目标对象还是要实现接口
2代理对象的生成 是利用JDK api,动态的在内存中构建代理对象(
需要我们指定创建 代理对象/目标对象 实现的接口的类型;);
3动态代理也叫jdk代理,接口代理

优点 不需要自己去创建代理类
缺点 目标对象一定要实现接口,否则不能用动态代理
未完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值