Java Guice@Provides方法不起作用
在我的Guice配置中有一个用@Provides注释的方法,但它不起作用Java Guice@Provides方法不起作用,java,dependency-injection,guice,Java,Dependency Injection,Guice,在我的Guice配置中有一个用@Provides注释的方法,但它不起作用 public class GuiceConfig extends GuiceServletContextListener { ... @Provides @RequestScoped EntityManager provideEntityManger() { return entityManagerFactory.createEntityManager(); } } 当我运行应用程序时,出现
public class GuiceConfig extends GuiceServletContextListener {
...
@Provides @RequestScoped
EntityManager provideEntityManger() {
return entityManagerFactory.createEntityManager();
}
}
当我运行应用程序时,出现以下错误:
com.google.inject.CreationException:
Guice创建错误:这里的主要问题是您使用@Provides不正确。@Provides方法必须位于初始化GUI时使用的某个模块中。。。你不能把它放在GuiceServletContextListener中。我可能错了,但对我来说,它看起来像是一个与范围相关的问题。您确定范围界定是正确的吗?当您的webapp启动时,它将不在RequestScope中。