【Spring】使用aop切面编程时要给那些类加注解

🎄欢迎来到@边境矢梦°的csdn博文🎄

🎄本文主要梳理 Spring 中使用aop切面编程时要给那些类加注解 🎄

🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈

🎆喜欢的朋友可以关注一下**🫰🫰🫰**,下次更新不迷路🎆
Ps: 月亮越亮说明知识点越重要 (重要性或者难度越大)🌑🌒🌓🌔🌕

在使用切面编程时,通常需要为以下类或组件添加注解来标识它们,以便 Spring 或其他切面框架能够正确识别和处理它们:

  1. 切面类(Aspect) :切面类是包含切面逻辑的类,它需要使用 @Aspect 注解进行标识。切面类中包含通知(advice)方法,这些方法定义了在何时和何地执行切面逻辑。通常,切面类也需要被 Spring 扫描到,以便 Spring 容器能够创建切面实例。

    java 复制代码
    @Aspect
    @Component
    public class MyAspect { // ... }
  2. 被切入的类(Target Class):这些是你希望应用切面的目标类,也称为连接点。通常,它们需要在 Spring 容器中注册,以便切面能够拦截它们的方法调用。

    java 复制代码
    @Component
    public class target{....}
  3. 切入点表达式 :切入点表达式定义了切面在何时和何地执行。这通常包括对哪些方法或类进行切面处理。切入点表达式通常在切面类的通知方法上使用 @Before、@After、@Around 等注解来指定。

    java 复制代码
    @Before("execution(* com.example.MyService.*(..))") 
    public void beforeServiceMethod() { // 切面逻辑 }
  4. 配置类或 XML 配置 :你需要确保切面和目标类被正确配置和扫描到。这通常涉及创建配置类(使用 @Configuration 注解)或在 Spring XML 配置文件中定义相关的配置元素。此外,你需要配置 Spring 容器以启用注解驱动的切面,例如使用 @EnableAspectJAutoProxy。

    配置类示例:

    java 复制代码
    @Configuration 
    @EnableAspectJAutoProxy 
    public class AppConfig { // 配置其他组件和切面 }

总结起来,需要添加注解的主要是切面类(@Aspect),以及可能需要为配置类(@Configuration)。目标类需要在 Spring 容器中注册,以便切面可以拦截它们的方法调用。切入点表达式定义了切面的切入点,它通常位于切面类的通知方法上。配置类或 XML 配置文件用于配置 Spring 容器,以启用切面和注解驱动的切面编程。

相关推荐
云和数据.ChenGuang1 小时前
print(f“a+b=“,result) print(f“a+b={result}“)区别
java·前端·人工智能·python·深度学习
2601_962885721 小时前
如何用 Python 算最大回撤和回撤恢复期?
java·数据库·python
misty youth1 小时前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
毕业设计7032 小时前
(免费领源码)SSM董家湾线上点餐系统04682- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·redis·mysql·tomcat·maven·mybatis·ssm
leaf9z2 小时前
阿里云rds查看所有库大小
mysql·阿里云
Yyyyyy~2 小时前
【Mysql】表的操作
数据库·mysql
Q26433650232 小时前
【有源码】基于SpringBoot+Vue的居民健康体检与慢病干预管理系统-面向智慧医疗的体检预约与健康知识服务平台
java·vue.js·spring boot·mysql·毕业设计·javaweb·课程设计
悠仁さん2 小时前
非类型模板参数的特化与偏特化
java·数据结构·算法
鬼手点金3 小时前
上下文:Agent 的眼睛
java·前端·人工智能·git·深度学习