java - Guice @Provides 方法不起作用

标签 java dependency-injection guice

我的 Guice 配置中有一个用 @Provides 注释的方法,但它不起作用。

public class GuiceConfig extends GuiceServletContextListener {

  ...

  @Provides @RequestScoped
  EntityManager provideEntityManger() {
    return entityManagerFactory.createEntityManager();
  }

}

当我运行我的应用程序时,出现以下错误:

com.google.inject.CreationException: Guice creation errors:<|<|1) No implementation for javax.persistence.EntityManager was bound.<| while locating javax.persistence.EntityManager<|
for parameter 0 at com.someclass.of.myproject

最佳答案

这里的主要问题是您正在使用 @Provides错误地。安@Provides方法必须位于 Module 之一是你在初始化 Guice 时使用的...你不能只是把它放在 GuiceServletContextListener 中.

关于java - Guice @Provides 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4214615/

相关文章:

java - 如何在我的远程服务器上部署 elasticsearch-head 或其他浏览器前端监控工具

c# - 如何打破存储库之间的循环依赖

c# - 如何使用 Ninject 注入(inject)静态属性?

c# - 如何将 IServiceCollection 注册转换为 Autofac 注册?

java - 如何在guice中进行依赖I/O

java - 如何使用 guice 在 Web 应用程序中的每个请求中绑定(bind)到不同的实现

java - Google Guice 中的计算常量

java - 变量不会从 java 代码传递到 zul

java - 在 Spark Java 应用程序中使用 Guice-persist 注入(inject) EntityManager 的空指针

java - 什么是 Java 中的线程泄漏和线程转储