【发布时间】:2011-01-27 05:40:29
【问题描述】:
谁能提供一个示例代码 sn-p 使用 spring-aop 引入(mixin)拼接两个 java 接口?
我正在寻找 AspectJ 注释样式配置。此外,我的具体用例是将几个 java bean 拼接在一起,每个 bean 都实现自己的接口。因此,与其对委托进行编码,如果我可以通过使用 Spring XML 摆脱困境,那就太棒了。
【问题讨论】:
谁能提供一个示例代码 sn-p 使用 spring-aop 引入(mixin)拼接两个 java 接口?
我正在寻找 AspectJ 注释样式配置。此外,我的具体用例是将几个 java bean 拼接在一起,每个 bean 都实现自己的接口。因此,与其对委托进行编码,如果我可以通过使用 Spring XML 摆脱困境,那就太棒了。
【问题讨论】:
您可以使用@DeclareParents 或<aop:declare-parents> 来获取混合行为。例如,
@DeclareParents(value="service.*", defaultImpl=AuditRecorderDefaultImpl.class)
private AuditRecorder mixin;
将混合service 包中的所有类与AuditRecorder 接口自动将每个方法转发到AuditRecorderDefaultImpl。
您可以从 AspectJ in Action 的downloadable sources 中看到这方面的工作示例。也可以在Spring documentation查看详细说明。
【讨论】:
一个基于Spring in Action book 4th edition的demo是here,配置是带有@ComponentScan的JavaConfig风格
【讨论】: