我在使用 Guice 注入特定字段实例时遇到了一些问题。
这是我目前拥有的:
class Driver {
private ThreadLocal<Database> db;
...
}
我通常只是在构造函数中传递 db 实例。但是这个类将被拦截,使用 guice。
这是模块:
class MyGuiceModule extends AbstractModule {
private ThreadLocal<Database> dbToInject;
public MyGuiceModule(ThreadLocal<Database> dbToInject) {
this.dbToInject = dbToInject;
}
@Override
protected void configure() {
// Binds the interceptor.
bindInterceptor(....);
bind(ThreadLocal.class).toInstance(this.dbToInject);
}
}
这是我实例化所有东西的方式:
Injector injector = new Injector(new MyGuiceModule(db));
Driver driver = injector.getInstance(Driver.class);
我敢打赌这很明显,但是我在这里做错了什么?
编辑:
对不起,如果我不清楚。我的问题是这不起作用。实例未注入。我已经用 @Inject 注释了该字段,但仍然无法正常工作。