我有3个项目:
- 框架
- 产品-a
- 产品-b
每个产品都依赖于框架,但它们彼此并不认识。
我有 3 个 spring 配置文件:每个项目一个。每个产品的配置文件包括(带有<import resource="classpath:/...
)框架的配置文件。
在框架中有一个名为“manager”的bean,它有一个属性List<AnInterface> theList
。“管理器”有一个 addXxx(anImplementation),它将元素添加到列表中)。
框架和每个产品都提供了 的实现AnInterface
,必须添加到theList
.
所以最后,当产品-a 运行时,管理器包含来自框架的实现,以及来自产品-a,产品-b 的同上
使用 Spring 执行此初始化的最佳实践是什么?
我能想到的唯一解决方案是创建一个专用类,构造函数将获取管理器和贡献列表,并将它们添加到管理器,但这很丑,因为 1/ 它在构造函数中操作外部对象,2/ 我有创建一个虚拟类只是为了初始化其他类......我不喜欢那样。