我正在尝试使用 Spring 框架为一个类(让我们称之为 C)动态实现一个特定的接口(让我们称之为 I)。在 Spring 中,这称为引入(其他语言中的 mixin)。在编译时,C 没有实现 I。使用 @DeclareParents 注释我可以在 AspectJ 语法中做到这一点。
问题是 I 的实际实现(我们称之为 IImpl)是独立的(不依赖于上下文)——我应该只在注释中提供 IImpl 类名。我想要实现的是以某种方式规定的实现。例如,我想为 IImpl 实例提供一个参数,比如封闭的 C 实例,以便 IImpl 中的逻辑会根据所引入的 CI 实例而有所不同。我需要一些方法来设置 IImpl 实例和引入的 C 实例之间的依赖关系。
目前我找不到办法做到这一点。有任何想法吗?
谢谢。