6

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

我正在寻找 AspectJ 注释样式配置。此外,我的具体用例是将几个 java bean 拼接在一起,每个 bean 都实现自己的接口。因此,如果我可以通过使用 Spring XML 摆脱委托,而不是对委托进行编码,那就太棒了。

4

2 回答 2

5

您可以使用@DeclareParentsor<aop:declare-parents>来获取 mixin 行为。例如,

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

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

您可以从 AspectJ in Action 的可下载源中看到这方面的工作示例。您还可以在Spring 文档中查看详细说明。

于 2011-01-27T20:50:30.347 回答
1

这里有一个基于 Spring in Action book 4th edition 的演示,配置是带有 @ComponentScan 的 JavaConfig 样式

于 2017-07-01T08:01:19.400 回答