我有一个带有 Spring 容器的项目。假设这个项目被调用my-common-library并使用 namespace my.common。它扫描此命名空间中的所有组件,common-context.xml如下所示
<beans ...>
<context:component-scan base-package="my.common"/>
</beans>
除其他事项外,此扫描检测使用 注释的类@MyComponent。
现在我想尽可能充分地重用这个项目。假设我开始了一个my-client在 namespace 中使用的新项目my.client。my-client主要由带有注释的组件组成@MyComponent。
在理想的世界中,我只需添加依赖项my-common-library,所有@MyComponents 都将被扫描和注册。唯一的问题是新的命名空间对原来的my-common-library.
我知道的一种解决方案是添加一个common-context.xml看起来my-client像的更新
<beans ...>
<context:component-scan base-package="my.common,my.client"/>
</beans>
这肯定会奏效,但似乎很脆弱。有没有更优雅的解决方案?