这与Play framework 2.5.x
我有几个Guice模块,它们被AbstractModule
扩展,并且它们被添加为GuiceApplicationBuilder
方法的绑定,如下所示。
@Override
public GuiceApplicationBuilder builder(ApplicationLoader.Context context) {
return initialBuilder
.in(context.environment())
.bindings(new LoggerModule())
.bindings(new BaseConnectionModule(configuration))
.bindings(new CacheModule(configuration))
.bindings(new DaoModule())
....
我的一个模块(比如CacheModule
)声明了私有变量,这些变量也是注入要在该类中使用的Guice(在Guice @Provides
方法内)。这些变量的绑定是在一个GuiceModule(比如BaseConnectionModule
)中完成的,它在当前模块之前绑定,如上面的代码所述。
我的问题是,当应用程序启动时,CacheModule
中声明为private的变量不会被实例化。
有人可以回答这个问题吗?