我可以在Spring中限制bean的bean可见性吗?

时间:2017-12-15 07:34:11

标签: java spring scope

想象一下,我有以下结构(每个级别都在不同的包中)

OuterOuterService
---外部服务
------ InnerService1
------ InnerService2

OuterService依赖于InnerService1和InnerService2。 OuterOuterService依赖于OuterOuterService。

我想阻止将InnerService1 / InnerService2自动装配到OuterOuterService 我不能使那些受保护,因为OuterService使用它们,并且它在不同的包中 我不能扁平化结构,因为所有这些服务实际上都是包含大量bean和自己的包层次结构的包。压扁结构会导致混乱。

是否可以通过任何可能的方式(包括重新构建代码)来防止OuterOuterService自动装配InnerServices?

提前谢谢

1 个答案:

答案 0 :(得分:0)

如何引入一个新类InnerServiceContainer,它具有对InnerService 1和2的包访问权限,并提供访问它们的受保护方法。

OuterOuterService
--- OuterService extends InnerServiceContainer
------ InnerServiceContainer
------ InnerService1
------ InnerService2