当前位置: 首页 > news >正文

宜春做网站 黑酷seo新闻头条最新消息国家大事

宜春做网站 黑酷seo,新闻头条最新消息国家大事,舆情系统有哪些,pc网站向手机站传递权重Aspect(切面):用于标识一个类是切面的注解。通常与其他通知注解一起使用,定义切面类。 Pointcut(切点): 注解来定义切点,它用于描述哪些连接点将会被通知所通知。 连接点&#xff…

@Aspect(切面):用于标识一个类是切面的注解。通常与其他通知注解一起使用,定义切面类。

@Pointcut(切点): 注解来定义切点,它用于描述哪些连接点将会被通知所通知。

连接点:execution(* com.example.service.*.*(..))

通知类

  1. @Before:前置通知,在目标方法执行前执行。
  2. @Around:环绕通知,在目标方法执行前后都执行,并且可以控制是否执行目标方法。
  3. @AfterReturning:正常返回通知,目标方法正常返回后执行。
  4. @AfterThrowing:异常返回通知,在目标方法抛出异常后执行。
  5. @After:后置通知,在目标方法执行后执行,无论是否抛出异常都会执行。

执行顺序:

1、使用前置通知

  • 正常返回情况:@Before -> 方法 -> @AfterReturning -> @After
  • 异常返回情况:@Before -> 方法 -> @AfterThrowing -> @After

2、使用环绕通知

  • 正常返回情况:@Around(前)-> 方法 -> @Around(后) -> @AfterReturning -> @After
  • 异常返回情况:@Around(前)-> 方法 -> @Around(后) -> @AfterThrowing -> @After

3、前置通知和环绕通知都使用

  • 正常返回情况:@Before -> @Around(前)-> 方法 -> @Around(后)-> @AfterReturning -> @After
  • 异常返回情况:@Before -> @Around(前)-> 方法 -> @Around(后) -> @AfterThrowing -> @After

注意:在 @Around 通知类型中,通过调用 ProceedingJoinPoint.proceed() 才会触发目标方法的执行,因此可以在方法执行前后加入额外的逻辑。

实现AOP案例:

@Aspect
@Component
public class LoggingAspect {@Before("execution(* com.example.MyService.*(..))")public void beforeMethodExecution(JoinPoint joinPoint) {String methodName = joinPoint.getSignature().getName();System.out.println("Before executing method: " + methodName);}@Around("execution(* com.example.MyService.*(..))")public Object aroundMethodExecution(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {String methodName = proceedingJoinPoint.getSignature().getName();System.out.println("Before executing method: " + methodName);// 执行目标方法Object result = proceedingJoinPoint.proceed();System.out.println("After executing method: " + methodName + ", result is " + result);return result;}@AfterReturning(pointcut = "execution(* com.example.MyService.*(..))", returning = "result")public void afterMethodExecution(Object result) {System.out.println("After method execution, the result is " + result);}@AfterThrowing(pointcut = "execution(* com.example.MyService.*(..))", throwing = "e")public void afterMethodThrowing(JoinPoint joinPoint, Exception e) {String methodName = joinPoint.getSignature().getName();System.out.println("Method " + methodName + " threw exception: " + e.getMessage());}@After("execution(* com.example.MyService.*(..))")public void afterMethodExecution(JoinPoint joinPoint) {String methodName = joinPoint.getSignature().getName();System.out.println("After executing method: " + methodName);}
}

ps:以下是我整理的java面试资料,密码是obht,感兴趣的可以看看。最后,创作不易,觉得写得不错的可以点点关注!

链接:https://www.yuque.com/u39298356/uu4hxh?# 《Java面试宝典》 

http://www.mnyf.cn/news/44009.html

相关文章:

  • 2023半夜免费b站推广合肥网站推广公司哪家好
  • 利用虚拟主机建设网站的实验报告宜兴网站建设
  • 有域名 空间如何建网站校园推广的方式有哪些
  • Java除了做网站开发哈能做啥台州seo快速排名
  • 网站备案表格下载seo优化首页
  • 全国做临期进口食品的网站网站查询进入
  • 做网站的如何说服客户互联网登录的网站名
  • 做网站前台模型要做什么呢网站批量查询
  • 龙岗平湖网站开发网站买卖交易平台
  • 怎么做军事小视频网站最好的免费信息发布平台
  • 没有独立网站淘宝客推广怎么做seo职位
  • 网站开发外包不给ftp首页图片点击率如何提高
  • 做一般的公司门户网站投资额优化器
  • 网站建设费用明细报告淘宝美工培训
  • 北京朝阳区租房价格百度seo排名规则
  • 网站综合排名信息查询全媒体运营师培训
  • 网站网站制作服务企业网站建设
  • 无锡网站制作楚天软件seo新人怎么发外链
  • 做网站要身份证吗代写文章接单平台
  • 做网站哪个平台搜狗收录
  • 大学生做那个视频网站营销型网站的特点
  • 邯郸学做网站学校太原seo代理商
  • 静态网站建设教程免费的h5制作网站
  • 2024最新一轮病毒症状长沙seo管理
  • 四平网站设计公司提高百度快速排名
  • 北京模板建站哪家好十大教育培训机构排名
  • 四川网站建设多少钱市场推广方案怎么写
  • 网站先做前端还是后端站内搜索引擎
  • 太原0元网站建设网站建设全包
  • 毕节市建设网站水果店推广营销方案