spring简单前置通知、后置处理



package com.zyl;

public class VegetalbeService
{
public void food()
{
System.out.print("切菜-->炒菜");
}

}

---------------------------------------
package com.zyl;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

public class ServiceDecorator implements MethodInterceptor
{
public Object invoke(MethodInvocation invocation)throws Throwable
{
System.out.print("买菜-->洗菜-->");
Object obj=invocation.proceed();
System.out.print("-->上菜");
return obj;

}

}

-------------------
package com.zyl;

import org.springframework.aop.framework.ProxyFactory;

public class Vegetable
{

public static void main(String[] args)
{
VegetalbeService target=new VegetalbeService();
ProxyFactory factory=new ProxyFactory();
factory.addAdvice(new ServiceDecorator());
factory.setTarget(target);
VegetalbeService proxy=(VegetalbeService)factory.getProxy() ;
proxy.food();

}

}
--------------------------------------------------------
运行结果:
买菜-->洗菜-->切菜-->炒菜-->上菜

Spring Boot中,可以使用AOP(面向切面编程)来实现前置处理后置处理前置处理是在方法执行之前执行的通知,而后置处理是在方法执行之后执行的通知。 在给定的代码示例中,我们可以看到使用了Spring Boot的AOP功能。在AspectController类中,使用了@TestAnnotation注解来标记testAspect方法。这个注解是一个自定义的注解,它被用作切面的标识。 在AOP中,可以使用不同的通知类型来实现前置处理后置处理。常见的通知类型包括@Before和@After。@Before通知在方法执行之前执行,而@After通知在方法执行之后执行。 在这个例子中,我们可以看到在testAspect方法上使用了@GetMapping注解,这表示这个方法是一个处理GET请求的方法。同时,它也被@TestAnnotation注解标记,表示这个方法需要进行AOP处理。 通过使用AOP,我们可以在方法执行之前执行一些额外的逻辑,比如参数校验、日志记录等。而在方法执行之后,我们可以进行一些后续处理,比如返回结果的处理、异常处理等。 总结起来,Spring Boot中的前置处理后置处理可以通过AOP来实现。通过在方法上使用相应的注解,我们可以在方法执行之前和之后执行一些额外的逻辑。这样可以提高程序的可维护性和可重用性,同时提高开发效率。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Spring Boot AOP面向切面编程使用(定义切入点、前置通知后置通知、返回通知、异常通知、环绕通知)](https://blog.csdn.net/qq_38974638/article/details/118240454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值