🎄欢迎来到@边境矢梦°的csdn博文🎄
🎄本文主要梳理 Spring 中使用aop切面编程时要给那些类加注解 🎄
🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈
🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆
Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕
在使用切面编程时,通常需要为以下类或组件添加注解来标识它们,以便 Spring 或其他切面框架能够正确识别和处理它们:
切面类(Aspect):切面类是包含切面逻辑的类,它需要使用 @Aspect
注解进行标识。切面类中包含通知(advice)方法,这些方法定义了在何时和何地执行切面逻辑。通常,切面类也需要被 Spring 扫描到,以便 Spring 容器能够创建切面实例。
- @Aspect
- @Component
- public class MyAspect { // ... }
被切入的类(Target Class):这些是你希望应用切面的目标类,也称为连接点。通常,它们需要在 Spring 容器中注册,以便切面能够拦截它们的方法调用。
- @Component
- public class target{....}
切入点表达式:切入点表达式定义了切面在何时和何地执行。这通常包括对哪些方法或类进行切面处理。切入点表达式通常在切面类的通知方法上使用 @Before
、@After
、@Around
等注解来指定。
- @Before("execution(* com.example.MyService.*(..))")
- public void beforeServiceMethod() { // 切面逻辑 }
配置类或 XML 配置:你需要确保切面和目标类被正确配置和扫描到。这通常涉及创建配置类(使用 @Configuration
注解)或在 Spring XML 配置文件中定义相关的配置元素。此外,你需要配置 Spring 容器以启用注解驱动的切面,例如使用 @EnableAspectJAutoProxy
。
配置类示例:
- @Configuration
- @EnableAspectJAutoProxy
- public class AppConfig { // 配置其他组件和切面 }
总结起来,需要添加注解的主要是切面类(@Aspect
),以及可能需要为配置类(@Configuration
)。目标类需要在 Spring 容器中注册,以便切面可以拦截它们的方法调用。切入点表达式定义了切面的切入点,它通常位于切面类的通知方法上。配置类或 XML 配置文件用于配置 Spring 容器,以启用切面和注解驱动的切面编程。