Spring spring

Spring中文网站 > Spring Integration > Spring怎么实现AOP Spring AOP的注解有哪些
Spring怎么实现AOP Spring AOP的注解有哪些
发布时间:2026/04/17 15:52:22

品牌型号:联想ThinkPad X1

系统:Windows10家庭版

软件版本:Spring 5.3.7

很多开发者在学习Spring框架的时候,都会被AOP相关的问题困扰过,我也不例外,明明知道Spring的AOP能够在实现日志记录、事务控制、权限校验等常见业务功能的时候不用重复编写代码,但是却不知道它到底是怎么做到在不修改业务代码的前提下,就能对方法进行增强。如果这一点没有弄清楚,那么在后面接触注解开发的时候,更是容易一头雾水了,项目中经常能看到@Aspect、@Pointcut这类注解,知道和AOP有关,但是却不清楚每个注解的具体使用,每次想用注解简化AOP开发的时候,总是记不住Spring AOP的注解有哪些。接下来,我们就来围绕着“Spring怎么实现AOP,Spring AOP的注解有哪些“来给大家好好讲解下。

一、Spring怎么实现AOP

Spring AOP可以让我们在不修改业务代码的前提下统一增强功能,很多新手程序员在刚开始学习Spring的时候,接触的都是传统的XML配置方式,我们就以XML方式为例来给大家讲讲Spring具体该怎么实现AOP。

1、我们需要在maven的pom.xml文件中导入AOP相关的依赖。

导入AOP相关的依赖
图1:导入AOP相关的依赖

2、在业务代码中,先确定哪个是目标对象,哪个是连接点,例如,我这里有个Service类中的两个方法,一个是show1,一个是show2,这两个方法就是我们的连接点,而Service对象就是我们的目标对象,我们编写一个通知,通知中定义前置方法和后置方法。

编写通知
图2:编写通知

3、将目标对象和通知都交给Spring去管理,然后在Spring的XML文件中配置切面织入就可以了。

配置切面织入
图3:配置切面织入

二、Spring AOP的注解有哪些

刚刚我们介绍了XML配置方式去实现Spring的AOP,其实,Spring的AOP也提供了注解方式配置,我们可以用注解去替代之前的XML配置文件。我们来回忆下刚刚我们是怎么用XML配置AOP的,其实也就是目标类和通知类被Spring管理后,在Spring的XML配置文件中配置切面的织入。

在XML中配置切面织入
图4:在XML中配置切面织入

在接触Spring的注解开发的时候,我们知道,开启注解扫描后,可以通过@Component注解将目标类和通知类交给Spring管理。

使用Component注解
图5:使用Component注解

配置AOP其实主要就是配置通知类中的哪个方法对应的切点表达式是什么,我们可以使用@Aspect注解来配置切面,使用@Before或者@Around等注解来配置通知类型,在配置通知类型的时候,我们需要配置切点表达式才行,这样才能知道要对哪些方法做增强。

配置切面
图6:配置切面

如果只是到这里,我们就启动项目,很可能并不会让这个通知生效,因为我们还需要配置AspectJ的自动代理,找到配置类ApplicationContextConfig在类上面使用@EnableAspectJAutoProxy注解,并将属性proxyTargetClass的值改为true。然后我们启动这个项目,就可以在控制台看到配置的通知已经生效了。

运行项目
图7:运行项目

以上就是Spring怎么实现AOP,Spring AOP的注解有哪些的全部内容了。Spring实现AOP的方式有多种,可以是注解、也可以是XML,不管是注解还是XML,无非就是将连接点和通知交给Spring管理,并配置好切面就可以了,AOP的常用注解也很容易记,将bean交给Spring管理,可以使用@Component及其下面衍生的注解,然后找到通知中的要增强的方法,在方法上配置通知类型和切入点表达式,最后不要忘记要在配置类中启动自动代理。

读者也访问过这里:
180 1563 6924