使用Spring AOP创建mixin简介

发布于 2024-10-14 09:05:33 字数 179 浏览 3 评论 0原文

有人可以提供一个使用 spring-aop 引入(mixin)缝合两个 java 接口的示例代码片段吗?

我正在寻找 AspectJ 注释样式配置。另外,我的具体用例是将一些 java beans 缝合在一起,每个 java beans 都实现自己的接口。因此,如果我可以使用 Spring XML 来摆脱委托编码,那就太棒了。

Could someone provide a sample code snippet that stitches two java interfaces using spring-aop introduction (mixin)?

I'm looking for AspectJ annotation style configuration. Also, the specific use case I have is to stitch a few java beans each implementing their own interfaces together. So, rather than having a delegate coded, if I could just get away by using Spring XML, it'd be awesome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风轻花落早 2024-10-21 09:05:33

您可以使用 @DeclareParents 来获取 mixin 行为。例如,

@DeclareParents(value="service.*", defaultImpl=AuditRecorderDefaultImpl.class)
private AuditRecorder mixin;

service 包中的所有类与 AuditRecorder 接口混合,自动将每个方法转发到 AuditRecorderDefaultImpl

您可以在 Action 的 AspectJ 的可下载源中看到这方面的工作示例。您还可以在 Spring 文档。

You can use @DeclareParents or <aop:declare-parents> to get the mixin behavior. For example,

@DeclareParents(value="service.*", defaultImpl=AuditRecorderDefaultImpl.class)
private AuditRecorder mixin;

will mixin all classes in the service package with the AuditRecorder interface automatically forwarding each method to AuditRecorderDefaultImpl.

You can see working examples of this from AspectJ in Action's downloadable sources. You can also see detailed explanation in Spring documentation.

平生欢 2024-10-21 09:05:33

这里有一个基于 Spring in Action 书第 4 版的演示,配置是 JavaConfig 风格与@ComponentScan

A demo based on Spring in Action book 4th edition is here, the configuration is JavaConfig style with @ComponentScan

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文