Spring AOP精选学习

本文深入探讨了Spring AOP的概念,包括AOP在解决实际问题中的作用、Spring AOP的实现原理,如JDK和Cglib动态代理。详细介绍了连接点、切入点、通知、引介等核心概念,并讲解了基于AspectJ的AOP开发,包括XML配置和注解方式,以及各种通知类型的使用。最后通过示例展示了如何编写和配置切面。
摘要由CSDN通过智能技术生成

Spring AOP

 1.什么是 AOP

Spring是解决实际开发中的一些问题:
* AOP解决 OOP中遇到的一些问题.是 OOP的延续和扩展.

为什么学习AOP

对程序进行增强:不修改源码的情况下.
* AOP可以进行权限校验,日志记录,性能监控,事务控制.

Spring 的 AOP 的由来:

AOP最早由AOP联盟的组织提出的,制定了一套规范.Spring将 AOP思想引入到框架中,必须遵守AOP联盟
的规范.

底层实现:

代理机制:
* Spring的 AOP的底层用到两种代理机制:
* JDK的动态代理 :针对实现了接口的类产生代理.
* Cglib的动态代理:针对没有实现接口的类产生代理. 应用的是底层的字节码增强的技术 生成当前类
的子类对象.

 

2. Spring 底层 AOP 的实现原理: : (了解)

JDK 动态代理增强一个类中方法:

 Cglib动态代理增强一个类中的方法:

 

3. Spring 的基于 AspectJ 的 AOP 开发
     1 AOP 的开发中的相关术语:

Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在 spring中,这些点指的是方法,因为 spring只
支持方法类型的连接点.
Pointcut(切入点):所谓切入点是指我们要对哪些 Joinpoint进行拦截的定义.
Advice(通知/增强):所谓通知是指拦截到 Joinpoint之后所要做的事情就是通知.通知分为前置通知,后置
通知,异常通知,最终通知,环绕通知(切面要完成的功能)
Introduction(引介):引介是一种特殊的通知在不修改类代码的前提下, Intro

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值