我有一个带有 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
,所有@MyComponent
s 都将被扫描和注册。唯一的问题是新的命名空间对原来的my-common-library
.
我知道的一种解决方案是添加一个common-context.xml
看起来my-client
像的更新
<beans ...>
<context:component-scan base-package="my.common,my.client"/>
</beans>
这肯定会奏效,但似乎很脆弱。有没有更优雅的解决方案?