如何在从“超级”接口扩展的接口方法上创建方面

2023-12-25

我有一个从基本接口扩展的服务层接口;我想围绕我的服务层接口创建一个切入点,但在基本接口中定义的方法之一上。

例如......我的基本接口中有一个名为“save()”的方法,我将其放入我的基本接口中,因为我的所有“子”接口都会提供“保存”功能。

我想仅在我的“子”界面之一上创建一个切入点,以便在调用“保存”时使用。

我创建了如下切入点:

@Pointcut("execution(* com.xyz.someapp.ChildServiceInterface.save(..))")  
public void childServiceSavePointCut();

然后,我围绕上述切入点创建了一个 @Around 建议,如下所示:

@Around("childServiceSavePointCut()")
public void doMyAdvice()....

其中“ChildServiceInterface”扩展了另一个定义了“save()”方法的接口。

我的建议从未运行...我调试了代码,但在目标服务的顾问列表中没有看到我的建议。

我是否认为这会起作用,或者我是否错误地实施了它?


试试这个切入点。

within(com.xyz.someapp.ChildServiceInterface+) && execution(* save(..))

The +表示一个子类型模式 https://eclipse.org/aspectj/doc/released/progguide/quick-typePatterns.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在从“超级”接口扩展的接口方法上创建方面 的相关文章

随机推荐

  • TensorFlow 的 cifar10.py 出现 Argparse 错误

    当我运行时出现以下错误python cifar10 py argparse ArgumentError argument batch size conflicting option string s batch size 这是运行的完整输出
  • 将 JQuery 与 Node.js 结合使用时出现错误

    我在 Windows 7 上运行了全新安装的 node js 并且我正在尝试运行一个非常基本的 JQuery 脚本 名为a js 其中仅包含 require jquery jquery 不幸的是 这不能与 JQuery 一起运行 给我一个
  • 替换 iOS ALAssetsLibrary 中的 ALAsset 对象

    我正在开发一个应用程序 该应用程序读取图像的地理位置并允许用户修改此信息并将此数据写回 我使用 writeImageDataToSavedPhotosAlbum 函数成功读取数据 操作并写入库 问题在于 它不是更新原始图像 而是创建一个新图
  • 如何将变量作为 stdin 从 PHP 传递到命令行

    我正在尝试编写一个 PHP 脚本 该脚本使用pdftk http www accesspdf com pdftk 应用程序将 XFDF 与 PDF 表单合并并将合并的 PDF 输出给用户 根据pdftk文档 我可以通过via传递表单数据st
  • 在没有任何提交的情况下撤消 git Reset

    正如我所想 我最近想更新远程 git 存储库上的代码 我没有意识到它甚至还没有承诺 我确实创建了一些错误 所以我想将分支重置到之前的状态 正如你所期望的 我使用了git reset hard 好吧 从那以后一切 整个项目 都消失了 除了 g
  • ruby 中的神奇注释( # Encoding: utf-8 )是如何工作的?

    ruby中的神奇注释是如何工作的 我正在谈论 Encoding utf 8 这是预处理指令吗 这种结构还有其他用途吗 源文件顶部的 Ruby 解释器指令 这称为神奇评论 在处理源代码之前 解释器会读取此行并设置正确的编码 我相信这对于解释语
  • 如何使 webapp2 的尾部斜杠成为可选?

    我正在使用新的 webapp2 现在是 1 6 中的默认 webapp 并且我无法弄清楚如何在代码中使尾部斜杠成为可选 如下所示 webapp Route feed handler feed 我试过了 feed feed feed and
  • 为什么 C++ 静态库项目没有链接器设置?

    暴露我的无知 为什么静态库项目 在我的例子中是 Visual Studio 在项目属性页面中没有链接器设置 我认为 链接 对于图书馆来说是一件大事 但显然我从根本上误解了一些东西 制作可执行文件分为三个步骤 编译器将源代码转换为 到目标文件
  • 通过 .css 将

    我有两个 div 元素 现在我的简化 css 是这样的 leftdiv this is the navigation pane min height 600px max height 600px rightdiv this is the p
  • 如何使用 C# 下载 Google SpreadSheets?

    我可以使用我从网上找到的以下代码使用我的应用程序登录谷歌 它返回一个授权代码作为响应 Google 帮助说这个授权码应该用于发送未来的 POST GET 请求 我需要从以下位置下载 Excel 格式的电子表格当我登录谷歌时 我通常可以通过浏
  • Codeigniter 模板库,带有部分视图 - 哪一个?

    我开始研究这个主题有几个原因 1 减少控制器中的重复代码 2 配置我的网站中使用的 3 个主要布局 1 栏 2 栏和 3 栏页面 3 能够拥有单独的部分视图文件 并根据模板相应地加载它们 主要内容 页眉 页脚和侧边栏 我在谷歌上搜索了这个主
  • Stripe 自定义结帐未发布

    任何人都可以帮忙解释为什么在完成结帐弹出窗口的输入后没有发布到预订 收费吗 简单的结帐示例发布得很好 我是 js 新手 所以我不太了解命令的流程
  • GLib编译错误(ffi.h),但libffi已安装

    配置成功后 make 退出snipped gclosure c 29 17 fatal error ffi h No such file or directory compilation terminated 我安装了 libffi 并找到
  • 用jquery比较开始时间和结束时间?

    这是代码 document ready function st change function var st st val start time Format 9 00 PM var et et val end time Format 11
  • 从 FirefoxOS 应用程序发送包含内容的电子邮件

    我正在尝试从 FirefoxOS 应用程序发送电子邮件以共享其生成的内容 目前我正在使用 var createEmail new MozActivity name new data type mail 但我无法找到任何方法将内容附加到此电子
  • 如何在 flutter dart 中使用具有多个条件的三元运算符?

    如何使用三元 if else 与两个或多个条件使用 OR 和 AND 例如 if foo 1 foo 2 do something else do something 我想用它 foo 1 foo 2 doSomething doSomet
  • PostGIS 几何保存:“遇到无效的字节序标志值。”

    我有一个 Spring Roo Hibernate 项目 它从客户端应用程序获取 JTS 众所周知的文本 WKT 字符串输入 将其转换为 JTS 几何对象 然后尝试将其写入 PostGIS 数据库 我遇到了一些问题JDBC 连接和类型 ht
  • 如何找到表列数据中最长的字符串

    我有一个表包含类似的列 Prefix CR g WR 1 WR 2 WR 3 WR 4 v WR 3 WR 4 j WR 2 m WR 1 d WR 3 WR 4 f9 WR 3 我想从中检索数据CR列其中具有最长的文本字符串 即在当前表中
  • Ionic 4 从历史记录中删除页面 (Android)

    Android 设备的菜单工具栏上有后退按钮 当我登录我的应用程序并单击后退按钮在登录页面上路由时 我想禁用这种可能性 我希望如果用户在登录后单击后退按钮 那么我会关闭应用程序 下面是我的初始路由代码 if token this route
  • 如何在从“超级”接口扩展的接口方法上创建方面

    我有一个从基本接口扩展的服务层接口 我想围绕我的服务层接口创建一个切入点 但在基本接口中定义的方法之一上 例如 我的基本接口中有一个名为 save 的方法 我将其放入我的基本接口中 因为我的所有 子 接口都会提供 保存 功能 我想仅在我的