SpringFramework AOP(一)

本文介绍了Spring Framework的AOP(面向切面编程)基础,包括AOP的概念、通知类型、连接点、切点、切面和引入。重点讨论了通知在代码中的体现,以及织入的不同阶段,如编译期、类加载期和运行期。
摘要由CSDN通过智能技术生成

SpringFramework AOP(一)

什么是AOP

AOP及面向切面编程,切面帮助我们模块化横切关注点

在这里插入图片描述

关注点及可以抽出来的公共功能,如安全、事务、日志打印等

横切及可以可以影响应用的多个功能

AOP的语述

在这里插入图片描述

通知

切面的工作意为通知

我认为:抽化出来的代码总称

五种通知类型

在代码中的体现
@Aspect
public class AspectsTest {
	//这里为通知:前置通知
    @Before(...)
    public void aopBeforeTest(){
            
    }

}
连接点

能插入切面的一个点

我认为:所有能执行通知的地方

代码中的体现
//这个接口所实现的类的方法即为连接点
public interface AopTest {
    public String AopTestPrint();
}
切点

及多个连接点的集合

代码中的体现
@Aspect
public class AspectsTest {
					//这里则是定义的 切点
    @Before(value = "execution(* com.test.springdome01.AopTest.*(..))")
    public void aopBeforeTest(){
    }

}
切面

切面为通知和切点的结合

代码中的体现
//已Aspect注解的类及为切面,里面包含通知和切点
@Aspect
public class AspectsTest {
	//这里为通知:前置通知 // 这里则是定义的 切点
    @Before(value = "execution(* com.test.springdome01.AopTest.*(..))")
    public void aopBeforeTest(){
            
    }

}
引入

给现有类添加新方法或属性

对于织入,引入更像标注在哪,添加的方法还不是类的一部分

代码中的体现
织入(Weaving)

把切面应用到目标对象并创建的代理对象的过程

对于引入来说,织入更像一个动态的行为,及添加的方法开始属于类的一部分。

可以通过编译期、类加载期、运行期进行织入

编译期

AspectJ

类加载期

AspectJ5的加载时织入

运行期

springAOP在运行期动态的生成代理对象来实现织入切面的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值