草庐IT

Toothpick

全部标签

java - 牙签绑定(bind)相互依赖的模块

我正在试用toothpickDI库,我似乎错过了一些关键的东西。我创建了以下testprojectongithub我试图为我的理解问题制作一个尽可能小的用例。在那里你会找到ApplicationModule我尝试在我的“根”模块中注入(inject)我需要的一切。如您所见,我有两次scope.installModules(module)因为我的PlainPojo依赖于Application实例。如果我不执行第一个installModule调用,则范围内没有应用程序实例。如评论中所述,我可以将应用程序实例作为参数传递,但我认为我可以在使用DI时删除它们?引起麻烦的第二类是SimpleTe

java - 有没有办法忽略 Toothpick 中的绑定(bind)覆盖?

假设我有作用域S1,其中包含带有绑定(bind)的模块:bind(Repository.class).to(RepositoryImpl.class).singletonInScope()然后S2作用域以S1作为父级(S1->S2)打开,S2定义相同的绑定(bind)(因为它是独立的并且对S1一无所知):bind(Repository.class).to(RepositoryImpl.class).singletonInScope()默认情况下,Toothpick会覆盖父范围依赖项,因此S2将创建一个新的RepositoryImpl。问题:有没有办法重用在S1中创建的绑定(bind)并