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

上海做家庭影院的公司网站网站的推广方式有哪些

上海做家庭影院的公司网站,网站的推广方式有哪些,赤壁网站制作,建设一个手机网站需要多少钱文章目录 一、Spring Boot AOP简介二、通知顺序1. 通知类型及其顺序示例代码 2. 控制通知顺序示例代码 一、Spring Boot AOP简介 AOP(Aspect-Oriented Programming,面向切面编程)是对OOP(Object-Oriented Programming&#xff0c…

文章目录

  • 一、Spring Boot AOP简介
  • 二、通知顺序
    • 1. 通知类型及其顺序
      • 示例代码
    • 2. 控制通知顺序
      • 示例代码


一、Spring Boot AOP简介

AOP(Aspect-Oriented Programming,面向切面编程)是对OOP(Object-Oriented Programming,面向对象编程)的补充。AOP通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

在Spring Boot中,AOP主要通过注解和AspectJ来实现。主要的AOP注解有:

  • @Aspect:定义切面类
  • @Before:前置通知
  • @After:后置通知
  • @AfterReturning:返回通知
  • @AfterThrowing:异常通知
  • @Around:环绕通知

二、通知顺序

1. 通知类型及其顺序

在Spring AOP中,通知按以下顺序执行:

  1. @Around(环绕通知)前半部分
  2. @Before(前置通知)
  3. 被代理的方法执行
  4. @AfterReturning(返回通知)或@AfterThrowing(异常通知)
  5. @After(后置通知)
  6. @Around(环绕通知)后半部分

示例代码

@Aspect
@Component
public class LoggingAspect {@Before("execution(* com.example.service.*.*(..))")public void logBefore(JoinPoint joinPoint) {System.out.println("logBefore() is running!");}@After("execution(* com.example.service.*.*(..))")public void logAfter(JoinPoint joinPoint) {System.out.println("logAfter() is running!");}@AfterReturning(pointcut = "execution(* com.example.service.*.*(..))", returning = "result")public void logAfterReturning(JoinPoint joinPoint, Object result) {System.out.println("logAfterReturning() is running!");}@AfterThrowing(pointcut = "execution(* com.example.service.*.*(..))", throwing = "error")public void logAfterThrowing(JoinPoint joinPoint, Throwable error) {System.out.println("logAfterThrowing() is running!");}@Around("execution(* com.example.service.*.*(..))")public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable {System.out.println("logAround() before is running!");Object result = joinPoint.proceed();System.out.println("logAround() after is running!");return result;}
}

2. 控制通知顺序

在不同的切面之间定义通知的执行顺序。可以使用@Order注解。

示例代码

@Aspect
@Order(1)
@Component
public class FirstAspect {@Before("execution(* com.example.service.*.*(..))")public void beforeAdvice() {System.out.println("FirstAspect beforeAdvice()");}
}@Aspect
@Order(2)
@Component
public class SecondAspect {@Before("execution(* com.example.service.*.*(..))")public void beforeAdvice() {System.out.println("SecondAspect beforeAdvice()");}
}

FirstAspectbeforeAdvice会先于SecondAspectbeforeAdvice执行。

http://www.khdw.cn/news/1389.html

相关文章:

  • 河南企起网站建设微博营销推广策划方案
  • 天津短视频seo郑州网站优化外包
  • 无线网站制作怎么样进行网络推广
  • 做的网站如何发布会seo结算系统
  • 建设银行网站登录没反应怎么设计一个网页
  • 新丝路网站建设百度提交入口网站网址
  • 泉州网站建设策划重庆seo网络推广优化
  • 自己做的网站收费免费刷seo
  • wordpress显示段落奉化云优化seo
  • magento怎么做b2b网站seo官网优化详细方法
  • 建设手机网站赣州网站seo
  • 智恒企业网站管理系统口碑营销的方法
  • 韩国的汽车设计网站站长之家权重
  • wordpress 布局插件seo做的好的网站
  • 做淘宝用什么批发网站seo专业培训需要多久
  • 郑州市网站建设公司天津百度推广电话
  • 口碑营销策略宁德seo公司
  • 北京网站制作公司飞沐深圳网站公司排名
  • 商城app骗局西安seo搜推宝
  • 媒体邀约优化建站
  • 站长素材网app免费下载关键词排名工具有哪些
  • 合肥网站建公众号软文范例100
  • wordpress添加new佛山seo外包平台
  • 保定中小企业网站制作百度人工智能
  • 做游乐设施模型的网站磁力狗bt
  • 武汉做网站哪家公司制作企业网站的公司
  • 最新的高端网站建设宁德市人民政府
  • 网站生成器下载桂平seo关键词优化
  • 腾讯云服务器如何使用杭州seo营销公司
  • 咸阳制作网站亚马逊关键词