我使用 HK2 作为依赖注入框架。我正在我的应用程序中实例化一个状态机。因此,A <-> B 是很有可能的,因为根据输入,可以从 B 转换回 A。
@Singleton
class StateManager extends SomeInterface{
@Inject
private B b;
@Inject
private A a;
}
@Singleton
class A extends State{
@Inject
private B b;
@Inject
private StateManager sm;
}
@Singleton
class B extends State{
@Inject
private A a;
@Inject
private StateManager sm;
}
我怎样才能实现这样的目标?上面的例子只是为了说明。我有比这更多的州。我试图查看它是否是重复的,但找不到可以处理的。当我尝试ServiceLocator.getService(StateManager.class)
获取此图时,我得到循环依赖异常。做这样的事情有什么好处?