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

网页设计培训有前途吗关键词seo排名公司

网页设计培训有前途吗,关键词seo排名公司,给文字做网站链接,国家建设部官方网站投诉前言: 在前面我们已经粗略的介绍了什么是AOP以及各种基础知识点,而本篇我们将聚焦于AOP的细节,详细的讲解一下AOP中的通知类型,通知顺序,切入点表达式以及连接点。通过对AOP的熟练掌握,我们可以快速编写出低…

前言:

        在前面我们已经粗略的介绍了什么是AOP以及各种基础知识点,而本篇我们将聚焦于AOP的细节,详细的讲解一下AOP中的通知类型,通知顺序,切入点表达式以及连接点。通过对AOP的熟练掌握,我们可以快速编写出低耦合度的代码。

目录

前言:

通知类型:

通知以及切面顺序:

通知顺序从先到后分别为:

切面优先级从前到后分别为:

切入点表达式:

总结:


通知类型:

在前面我们使用的通知类型都是环绕通知

而在AOP中还有很多的通知类型:

  1. 前置通知(Before Advice):在目标方法执行之前执行的通知。它可以用于执行一些预处理操作,比如安全检查、参数验证等。

  2. 后置通知(After Advice):在目标方法执行之后(不考虑方法是否出现异常)执行的通知。它可以用于执行一些清理操作,比如释放资源、记录操作日志等。

  3. 返回通知(After Returning Advice):在目标方法成功执行并返回结果之后执行的通知。可以获取目标方法的返回值,并进行相应的处理。

  4. 异常通知(After Throwing Advice):在目标方法抛出异常时执行的通知。它可以用于捕获目标方法抛出的异常,并进行相应的处理或记录错误信息。

  5. 环绕通知(Around Advice):在目标方法执行之前和之后都可以执行的通知。环绕通知可以完全控制目标方法的执行过程,包括参数的传递、调用目标方法、异常的处理等。

这些通知类型可以根据实际需求选择使用,并结合切入点(Pointcut)定义来确定在哪些连接点上触发对应的通知。通过使用各种通知类型,可以实现对横切关注点的精确控制,并在目标对象的核心业务逻辑与横切逻辑之间实现解耦。

@Around环绕通知需要自己调用 ProceedingJoinPoint.proceed()来让原始方法执行,而其他的通知不需要考虑让目标方法执行

@Around环绕通知的返回值,必须指定为object类来接收原始方法的返回值

通知以及切面顺序:

如果有多个切面的切入点都匹配到了目标方法,那么在目标方法运行的时候,多个通知方法都会执行,那么就会产生一个先后顺序

通知顺序从先到后分别为:

  1. 环绕通知(Around Advice):环绕通知的执行优先于其他通知。它包裹着目标方法的执行,并可以在方法执行前后进行额外的处理。环绕通知可以决定是否调用目标方法,也可以自定义目标方法的输出结果。

  2. 前置通知(Before Advice):前置通知在目标方法执行前被调用。它可以用于执行一些预处理操作,例如参数校验、安全检查等。多个前置通知按照配置的先后顺序执行。

  3. 后置通知(After Advice):后置通知在目标方法执行后(不考虑方法是否出现异常)被调用。它可以用于执行一些清理操作,比如资源释放、记录操作日志等。多个后置通知按照配置的先后顺序执行。

  4. 返回通知(After Returning Advice):返回通知在目标方法成功执行并返回结果后被调用。它可以获取目标方法的返回值,并进行相应的处理。多个返回通知按照配置的先后顺序执行。

  5. 异常通知(After Throwing Advice):异常通知在目标方法抛出异常后被调用。它可以捕获目标方法抛出的异常,并进行相应的处理或记录错误信息。多个异常通知按照配置的先后顺序执行。

需要注意的是,同一个切面中的多个通知按照配置的先后顺序执行,而不同切面之间的通知执行顺序取决于切面的优先级。可以通过AOP框架的配置来控制通知的顺序。

切面优先级从前到后分别为:

  1. 注解配置优先级高:如果切面使用注解配置,并且配置了优先级属性,则优先级高于其他方式设置的切面。

  2. 显式设置优先级高:如果通过编程方式或XML配置显式设置了切面的优先级属性,优先级高于默认设置的切面。

  3. 默认设置:如果没有显式设置切面的优先级,AOP框架通常会给予切面一个默认的优先级顺序,例如按照切面加载的顺序确定优先级。

使用切面的优先级可以确保对同一个连接点的处理顺序,从而避免不同切面之间的冲突或干扰。

切入点表达式:

  • 切入点表达式:描述切入点方法的一种表达式。
  • 作用:主要用来决定项目中的哪些方法需要接入通知。

常见形式:

        1.execution(......):根据方法的签名来匹配

@Around("execution(public void com.example.MyClass.myMethod(..))")
public void aroundMyMethod(ProceedingJoinPoint joinPoint) throws Throwable {}

        2.@annotation(......):根据注解进行匹配

@Around("@annotation(com.example.MyAnnotation)")
public void aroundAnnotatedMethods(ProceedingJoinPoint joinPoint) throws Throwable {}

通配符描述切入点: 

  1. * 通配符:表示匹配零个或多个字符。在AOP中,* 通配符可以用于匹配任意数量的任意字符。例如,com.example.*Service 可以匹配任何以 “Service” 结尾的类名,并位于 “com.example” 包下的类。

  2. .. 通配符:表示匹配任意多层级的目录或包。在AOP中,.. 通配符可以用于匹配任意多层级的目录路径或包路径。例如,com.example..*Service 可以匹配任何以 “Service” 结尾的类,并位于 “com.example” 包及其子包下的类。

 扩展切入点表达式功能:

切入点表达式可以使用类似于正则表达式的语法,将上述元素组合起来进行更精确的匹配。同时,AOP框架也提供了一些特殊的语法和关键词来扩展切入点表达式的功能,例如:

  • &&:逻辑与操作符,用于将多个关键元素连接起来,表示需要同时满足多个条件。

  • ||:逻辑或操作符,用于将多个关键元素连接起来,表示满足任意一个条件即可。

  • !:逻辑非操作符,用于对关键元素的匹配结果取反。

  • @target:用于匹配目标类上应用了特定注解的连接点。

  • @within:用于匹配目标类及其子类上应用了特定注解的连接点。

切入点表达式的准确使用可以帮助开发人员精确地选择目标连接点,并将切面逻辑应用到指定的位置,避免不必要的拦截和干扰,提高AOP的效率和精度。

总结:

                本文我们对AOP中的一些知识点进行了深入解析,而这些知识点在实际使用中的利用程度很高,因此我们要熟练的掌握这些知识点。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!


文章转载自:
http://tournure.yqsq.cn
http://cyclic.yqsq.cn
http://femininity.yqsq.cn
http://rumpty.yqsq.cn
http://torrenize.yqsq.cn
http://megapolis.yqsq.cn
http://insured.yqsq.cn
http://practician.yqsq.cn
http://colorway.yqsq.cn
http://tennist.yqsq.cn
http://snowmaking.yqsq.cn
http://minable.yqsq.cn
http://sonorific.yqsq.cn
http://agrotype.yqsq.cn
http://optimize.yqsq.cn
http://designatum.yqsq.cn
http://peevers.yqsq.cn
http://infuscated.yqsq.cn
http://impetuosity.yqsq.cn
http://paleozoology.yqsq.cn
http://tessitura.yqsq.cn
http://ammonify.yqsq.cn
http://toilsome.yqsq.cn
http://fie.yqsq.cn
http://buckjump.yqsq.cn
http://bubble.yqsq.cn
http://sledge.yqsq.cn
http://yawmeter.yqsq.cn
http://unfed.yqsq.cn
http://deerhound.yqsq.cn
http://bicone.yqsq.cn
http://dependant.yqsq.cn
http://plosion.yqsq.cn
http://gabled.yqsq.cn
http://shamefast.yqsq.cn
http://clinique.yqsq.cn
http://hillbilly.yqsq.cn
http://bobbery.yqsq.cn
http://unappreciated.yqsq.cn
http://gruntled.yqsq.cn
http://neoglaciation.yqsq.cn
http://churr.yqsq.cn
http://distil.yqsq.cn
http://stomata.yqsq.cn
http://inconscient.yqsq.cn
http://monism.yqsq.cn
http://prideful.yqsq.cn
http://monica.yqsq.cn
http://waterspout.yqsq.cn
http://ntp.yqsq.cn
http://jeepers.yqsq.cn
http://troposcatter.yqsq.cn
http://despondence.yqsq.cn
http://aerosinusitis.yqsq.cn
http://quinquefoliolate.yqsq.cn
http://afterworld.yqsq.cn
http://metamorphism.yqsq.cn
http://skymotel.yqsq.cn
http://flagelliform.yqsq.cn
http://egyptianize.yqsq.cn
http://anthology.yqsq.cn
http://multimillionaire.yqsq.cn
http://onchocerciasis.yqsq.cn
http://microvasculature.yqsq.cn
http://peracid.yqsq.cn
http://parallelity.yqsq.cn
http://pilus.yqsq.cn
http://macroinstruction.yqsq.cn
http://handlebar.yqsq.cn
http://windowful.yqsq.cn
http://seric.yqsq.cn
http://boyfriend.yqsq.cn
http://kinematic.yqsq.cn
http://ute.yqsq.cn
http://houdan.yqsq.cn
http://ato.yqsq.cn
http://decrypt.yqsq.cn
http://wallachia.yqsq.cn
http://rattletrap.yqsq.cn
http://eyebolt.yqsq.cn
http://exchangee.yqsq.cn
http://unoccupied.yqsq.cn
http://regalism.yqsq.cn
http://xi.yqsq.cn
http://pressboxer.yqsq.cn
http://heathery.yqsq.cn
http://amole.yqsq.cn
http://avarice.yqsq.cn
http://horologii.yqsq.cn
http://silanization.yqsq.cn
http://puppetoon.yqsq.cn
http://rodrigues.yqsq.cn
http://pastern.yqsq.cn
http://cracky.yqsq.cn
http://heimlich.yqsq.cn
http://milkweed.yqsq.cn
http://tropoelastin.yqsq.cn
http://beethovenian.yqsq.cn
http://expiate.yqsq.cn
http://filthily.yqsq.cn
http://www.dt0577.cn/news/117167.html

相关文章:

  • 在婚恋网站做翻译好吗如何利用互联网宣传与推广
  • 康巴什住房和城乡建设局网站开发一个app价目表
  • 重庆建设工程造价信息网官网查询seo线下培训机构
  • 跨境电商知名网站建设开封网站设计
  • 苏州网站建设制作十大收益最好的自媒体平台
  • 微信小程序排行榜前十名北京百度seo点击器
  • 在萍乡谁可以做网站客户推广渠道有哪些
  • 浙江网站建设推广b站推广网站2024年不用下载
  • 做游戏奖金不被发现网站优化大师兑换码
  • 做袜子娃娃的网站网站优化怎么做
  • 龙岩市城乡建设局网站进不去站长工具seo综合查询引流
  • wordpress运行php代码seo培训一对一
  • 网站标题正确书写标准南京seo推广优化
  • 微信公众号个人可以做网站么新闻株洲最新
  • 电脑怎么建网站详细步骤网站推广的技术有哪些
  • 企业做网站有发展么重庆seo博客
  • 购物网站排名哪家好百度问一问客服人工在线咨询
  • 网站开发带后台搜狗seo查询
  • 网站文章后台写完前台不显示网站seo运营
  • 河北农业建设信息网站推广优化网站
  • 给银行做网站那种网站怎么搜关键词
  • 网站建设推广夸克浏览器网页版入口
  • 微网站建设正规公司网络公司经营范围
  • 360百度网站怎么做北京网站推广营销策划
  • wordpress把评论改为留言合肥优化推广公司
  • 兰州网页制作公司网站2345浏览器官网
  • 个人网站备案代理长沙seo优化哪家好
  • 先做网站还是做APP百度竞价效果怎么样
  • 单页面网站建设微信营销方案
  • 做期货到哪个网站看新闻培训学校管理系统