Java 您使用什么技术来调试复杂的guice绑定?
我有一组复杂的绑定,其中包括许多私有绑定来解决问题 由于Guice报告可理解的BID错误的能力有限,我想知道除了读取Guice的运行时异常之外,还有什么有效的工具或技术可以用来排除运行时绑定错误 单步执行配置代码是没有帮助的,因为配置发生在引导时,而不是在对象实例化时(通常会发生错误)Java 您使用什么技术来调试复杂的guice绑定?,java,debugging,dependency-injection,guice,Java,Debugging,Dependency Injection,Guice,我有一组复杂的绑定,其中包括许多私有绑定来解决问题 由于Guice报告可理解的BID错误的能力有限,我想知道除了读取Guice的运行时异常之外,还有什么有效的工具或技术可以用来排除运行时绑定错误 单步执行配置代码是没有帮助的,因为配置发生在引导时,而不是在对象实例化时(通常会发生错误) 如果Guice graph插件能够工作,它可能会很有用——我用它做的实验产生了不正确的图形。我发现以下两个技巧对调试非常有用: 可视化喷油器。如果您的自定义提供程序实现,它可以扩展此图 允许您编写错误消息正确跟
如果Guice graph插件能够工作,它可能会很有用——我用它做的实验产生了不正确的图形。我发现以下两个技巧对调试非常有用:
- 可视化喷油器。如果您的自定义提供程序实现,它可以扩展此图
- 允许您编写错误消息正确跟踪行号的扩展名李>
当然,如果您遵循测试驱动的开发,并确保在套件中包含全覆盖Guice绑定测试,那么一旦打破绑定,您就会检测到这些错误 这些图表实际上非常有用。您只需处理style=invis bug,您可以标记这个java,这样我们就可以对代码着色了吗?
class ProviderTest {
var injector : Injector = null
@Before
def setUp() {
injector = Guice.createInjector(
new BindModule1(),
new BindModule2(),
new BindGlobals()
)
}
@After
def tearDown() {
}
@Test def InjectedClass1WasBound() {
val provider = injector.getProvider(classOf[InjectedClass1])
}
@Test def InjectedClass2WasBound() {
val provider = injector.getProvider(classOf[InjectedClass2])
}
}