Spring 进行传统AOP开发

为什么要使用AOP?

解决办法:传统方式

解决办法:Spring的AOP

AOP的相关概念

AOP的相关术语

AOP的底层实现,jdk的动态代理。使用jdk本身的一个类,即Proxy,使用其方法newProxyInstance,一,传递类加载器,第二传递接口,第三invoke方法。

AOP底层实现之 JDK动态代理(jdk动态代理可以对实现接口的类产生代理)

AOP底层实现之 CGLIB 生成代理。JDK动态代理只能对实现了接口的类实现动态代理。CGLIB的底层实现是生成了一个类。

Advisor切面准备工作

<dependency>
  <groupId>aopalliance</groupId>
  <artifactId>aopalliance</artifactId>
  <version>1.0</version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-aop</artifactId>
  <version>4.2.4.RELEASE</version>
</dependency>

Advisor切面

单元测试   +   编程实现

定义自己的拦截器                       

spring的aop产生代理对象,将目标/接口/通知  进行整合在一块。

测试

其他的一些选项

编码实现带有切入点的通知(Advice)作为切面,使用环绕通知。这里的目标不是接口,而是,所以产生代理(ProxyFactoryBean)时proTargetClass属性应设为true。

      

编码实现Spring自动创建代理

基于Bean名称的自动代理方式,优点是灵活,缺点是不能使用带有切点的切面

spring的传统aop的基于切面信息的自动代理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值