有人可以提供一个示例代码片段,使用 spring-aop 介绍(mixin)缝合两个 java 接口吗?
我正在寻找 AspectJ 注释样式配置。此外,我的具体用例是将几个 java bean 拼接在一起,每个 bean 都实现自己的接口。因此,如果我可以通过使用 Spring XML 摆脱委托,而不是对委托进行编码,那就太棒了。
您可以使用@DeclareParents
or<aop:declare-parents>
来获取 mixin 行为。例如,
@DeclareParents(value="service.*", defaultImpl=AuditRecorderDefaultImpl.class)
private AuditRecorder mixin;
将混合service
包中的所有类,AuditRecorder
接口自动将每个方法转发到AuditRecorderDefaultImpl
.
您可以从 AspectJ in Action 的可下载源中看到这方面的工作示例。您还可以在Spring 文档中查看详细说明。
这里有一个基于 Spring in Action book 4th edition 的演示,配置是带有 @ComponentScan 的 JavaConfig 样式