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

学校网站风格wordpress记录点击数

学校网站风格,wordpress记录点击数,网站的动画效果代码,网站模版超市声明通知Adivce Advice 与切入点表达式相关联#xff0c;并在切入点匹配的方法执行之前、之后或周围运行。切入点表达式可以是对命名切入点的简单引用#xff0c;也可以是就地声明的切入点表达式。 Before Adivce 您可以使用Before注释在方面中声明Before Advice#xff1a;… 声明通知Adivce Advice 与切入点表达式相关联并在切入点匹配的方法执行之前、之后或周围运行。切入点表达式可以是对命名切入点的简单引用也可以是就地声明的切入点表达式。 Before Adivce 您可以使用Before注释在方面中声明Before Advice java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before;Aspect public class BeforeExample {Before(com.xyz.myapp.CommonPointcuts.dataAccessOperation())public void doAccessCheck() {// ...} } 如果我们使用inline切入点表达式我们可以将前面的示例重写为以下示例 java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before;Aspect public class BeforeExample {Before(execution(* com.xyz.myapp.dao.*.*(..)))public void doAccessCheck() {// ...} } After Returning Advice 返回通知后当匹配的方法执行正常返回时运行。您可以使用AfterReturning注解来声明它 java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterReturning;Aspect public class AfterReturningExample {AfterReturning(com.xyz.myapp.CommonPointcuts.dataAccessOperation())public void doAccessCheck() {// ...} } 你可以有多个通知声明以及其他成员都在同一个方面。我们在这些示例中只展示了一个通知声明以集中每个通知的效果。 有时您需要在通知正文中访问返回的实际值。您可以使用AfterReturning绑定返回值的形式来获取该访问权限如以下示例所示 java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterReturning;Aspect public class AfterReturningExample {AfterReturning(pointcutcom.xyz.myapp.CommonPointcuts.dataAccessOperation(),returningretVal)public void doAccessCheck(Object retVal) {// ...} } returning属性中使用的名称必须与通知方法中的参数名称相对应。当目标方法执行返回时返回值作为相应的参数值传递给该通知方法。returning子句还将匹配并限制那些返回值为指定类型方法执行在这种情况下Object匹配任何返回值。 请注意在使用 AfterReturning Advice时不能返回完全不同类型的引用。 After Throwing Advice 当匹配的方法执行抛出异常退出时After Throwing Advice执行。您可以使用AfterThrowing注解来声明它如以下示例所示 java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterThrowing;Aspect public class AfterThrowingExample {AfterThrowing(com.xyz.myapp.CommonPointcuts.dataAccessOperation())public void doRecoveryActions() {// ...} } 通常您希望建议仅在引发指定类型的异常时运行并且您还经常需要访问Advice中引发的异常。您可以使用该throwing属性来限制匹配如果需要 -Throwable 用作异常类型并将抛出的异常绑定到通知参数。以下示例显示了如何执行此操作 java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.AfterThrowing;Aspect public class AfterThrowingExample {AfterThrowing(pointcutcom.xyz.myapp.CommonPointcuts.dataAccessOperation(),throwingex)public void doRecoveryActions(DataAccessException ex) {// ...} } throwing属性中使用的名称必须与advice方法中参数的名称相对应。当通过引发异常退出方法执行时异常作为相应的参数值传递给通知方法。throwing子句还限制只匹配那些引发指定类型的异常(在本例中是DataAccessException)的方法执行 After (Finally) Advice 当匹配的方法执行退出时最终通知运行。它是通过使用After注解来声明的。After通知在方法执行正常和异常返回情况下都能够正常处理。它通常用于释放资源和类似目的。下面的例子展示了如何使用 after advice java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.After;Aspect public class AfterFinallyExample {After(com.xyz.myapp.CommonPointcuts.dataAccessOperation())public void doReleaseLock() {// ...} } 请注意After AspectJ 中的通知被定义为“在 finally 通知之后”类似于 try-catch 语句中的 finally 块。 它将在连接点用户声明的目标方法抛出的任何结果、正常返回或异常时调用与之相反 AfterReturning 它仅适用于成功的正常返回。 Around Advice 最后一种Advice是Around Advice。Around Advice“围绕”匹配方法的执行。它在方法运行之前和之后进行工作并确定该方法何时、如何以及是否真正开始运行。如果您需要以线程安全的方式在方法执行之前和之后共享状态例如启动和停止计时器则通常使用环绕通知。 始终使用满足您要求的最不强大的建议形式。例如如果之前的建议足以满足您的需求请不要使用环绕建议。 环绕通知是通过使用Around注解对方法进行注解来声明的。该方法应声明Object为其返回类型并且该方法的第一个参数必须是ProceedingJoinPoint类型。在通知方法的主体中您必须调用ProceedingJoinPoint对象的proceed()方法使目标方法运行。不带参数调用proceed()将导致调用者的原始参数在调用时提供给底层方法。对于高级用例该proceed()方法有一个重载变体它接受参数数组 ( Object[])。调用时数组中的值将用作底层方法的参数。 当用Object[] 调用时proceed的行为与由aspectj编译器编译的around advice的proceed的行为稍有不同。对于使用传统aspectj语言编写的around advice传递给proceed的参数数量必须与传递给around advice的参数数量(而不是基础连接点接受的参数数量) 匹配并且传递给给定参数位置的值在连接点为值所绑定到的实体添加原始值(如果现在没有意义请不要担心) 。 Spring采用的方法更简单更符合其基于代理的、只执行的语义。只有在编译为Spring编写的Aspectj方面并使用aspectj编译器和weaver的参数时才需要注意这一区别。有一种方法可以在SpringAOP和AspectJ中编写100%兼容的方面这将在下面关于建议参数的小节中讨论。 around 通知返回的值是方法调用者看到的返回值。例如一个简单的缓存方面可以从缓存中返回一个值如果它有一个值或者调用proceed()并返回该值如果它没有。请注意proceed 在 around 建议的主体内可能会调用一次、多次或根本不调用。所有这些都是合法的。 如果您将around建议方法的返回类型声明为void那么null将始终返回给调用者从而有效地忽略任何processed调用的结果。因此建议around建议方法声明Object的返回类型。 advice方法通常应该返回从processed的调用返回的值即使基础方法的返回类型为void。但是根据使用情况建议可以选择性地返回缓存值、包装值或其他值。 下面的例子展示了如何使用 around 通知 java import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.ProceedingJoinPoint;Aspect public class AroundExample {Around(com.xyz.myapp.CommonPointcuts.businessService())public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {// start stopwatchObject retVal pjp.proceed();// stop stopwatchreturn retVal;} }
http://www.huolong8.cn/news/372892/

相关文章:

  • 哪些网站可以做帮助文档门户网站微信服务号建设
  • 职业院校专题建设网站诸暨网站开发
  • 上海网站开发培训如何增强网站的安全性
  • 沈阳市建设公司网站wordpress网站域名服务器
  • 企业网站引导页模板西安百度网站快速排名
  • 营销型平台网站建设有什么网站是专门做电商详情页
  • 专做女装的网站深圳送花网站哪个好
  • 网站备案 不关站石家庄最近新闻事件
  • 开发网站要注意什么问题桩基工程信息网发布
  • 课程网站建设规划方案大兴网站建设推广
  • 朝阳网站购物网站的后台
  • 包小盒设计网站官网山东省建设厅网站是
  • 免费表格模板网站html企业整站模板网站
  • 免费网站建设有哪些极限优化主题wordpress
  • 检察院门户网站建设自查报告如何创建网站的步骤
  • 在什么网站做贸易好wordpress 插件 文章
  • 冠县网站建设价格沈阳市做网站的公司
  • 做情书直接点网站济南网站建设哪里好
  • 网站更换空间网站建设服务采购方案
  • 做网站如何与美工配合龙岩网站优化
  • 网站常用素材承德做网站设计的
  • 怎样做淘宝联盟网站龙华网站建设的基本步骤
  • 北京php网站开发做海报有什么参考的网站
  • 青岛建站中国建设报官方网站
  • 学校网站的英文青海专业网页设计免费建站
  • 卢松松网站怎么做商城网站设计公司排名
  • 网站建设对公司有什么意义青岛做网站和小程序的公司
  • 完备的网站建设深圳最好的营销网站建设公司排名
  • 电子商务网站开发背景网页制作代码html
  • 陕西建设厅人才网站巧克力软文范例200字