可以防止 Guice 将某些对象注入特定类型吗?
Can prevent Guice from injecting some objects into certain type?
我在 java 应用程序中使用 Guice 进行依赖注入。我想限制某些对象类型以注入任何 class。那是因为我有某种插件api,如果任何对象都可以注入到插件中,那就不行了。所以,我需要限制一些核心 classes 注入插件 classes。有没有办法做到这一点,或者我可能应该在不使用 Guice 的情况下手动注入这些核心 classes?
你的标题和问题不匹配。
标题的答案是肯定的,显然 - 您还可以注入什么,Guice 可以创建什么实例,如果不是具体的 classes?
你的问题的答案是,如果 B 使用 A,你可以通过阻止编译 B 来防止 A 被注入 B - 或者通过限制可见性(如 public
,private
) ,或者通过构建您的构建,以便在编译 B.
时 A 不在 class 路径上
我在 java 应用程序中使用 Guice 进行依赖注入。我想限制某些对象类型以注入任何 class。那是因为我有某种插件api,如果任何对象都可以注入到插件中,那就不行了。所以,我需要限制一些核心 classes 注入插件 classes。有没有办法做到这一点,或者我可能应该在不使用 Guice 的情况下手动注入这些核心 classes?
你的标题和问题不匹配。
标题的答案是肯定的,显然 - 您还可以注入什么,Guice 可以创建什么实例,如果不是具体的 classes?
你的问题的答案是,如果 B 使用 A,你可以通过阻止编译 B 来防止 A 被注入 B - 或者通过限制可见性(如 public
,private
) ,或者通过构建您的构建,以便在编译 B.