Dependency injection Guice@Inject不';行不通

Dependency injection Guice@Inject不';行不通,dependency-injection,playframework,guice,entitylisteners,Dependency Injection,Playframework,Guice,Entitylisteners,我有DI的指南。 我可以将我的存储库注入控制器(构造函数注入): 我有一个空的 Build.sbt文件: import MetamodelGenerator.generateMetamodels name := """my-app""" version := "1.2.4-SNAPSHOT" lazy val root = (project in file(".")).enablePlugins(PlayJava).settings(sourceGenerators in Compile

我有DI的指南。 我可以将我的存储库注入控制器(构造函数注入):

我有一个空的

Build.sbt文件:

import MetamodelGenerator.generateMetamodels

name := """my-app"""

version := "1.2.4-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava).settings(sourceGenerators in Compile += generateMetamodels(Seq("models")).taskValue)

scalaVersion := "2.12.2"

libraryDependencies ++= Dependencies.projectDependencies
application.conf文件:

# JDBC
db {
    default {
        driver = org.postgresql.Driver
        url = "jdbc:postgresql://localhost:5432/my-app"
        schema = myapp
        username = "user"
        password = "user"
        jndiName = DefaultDS
        logSql = false

        hikaricp {
            connectionTestQuery = SELECT 1
            minimumIdle = 20
            maximumPoolSize = 40
        }
    }
}
# Point JPA at our database configuration
jpa.default = defaultPersistenceUnit

# Job queue sized to HikariCP connection pool
database.dispatcher {
    executor = "thread-pool-executor"
    throughput = 1
    thread-pool-executor {
        fixed-pool-size = 40
    }
}

你能发布你的Guice配置代码吗?我没有针对这种情况的特殊配置。你知道这个文档吗?是的,我有persistence.xml配置,但我不明白为什么我可以插入一个类,但是不能注入另一个类我想你正面临一个类似这样的问题:。你能发布你的Guice配置的代码吗?我没有针对这种情况的特殊配置。你知道这个文档吗?是的,我有persistence.xml配置,但我不明白为什么我可以注入一个类,但是不能再注入另一个类我想你正面临着这样一个可笑的问题:。
....
Caused by: javax.persistence.PersistenceException: Unable to create instance of models.listeners.MyEntityListener as a JPA callback listener
....
Caused by: java.lang.NoSuchMethodException: models.listeners.MyEntityListener.<init>()
public class MyEntityListener {

    @Inject
    private MyEntityRepository myEntityRepository; // null
}
import MetamodelGenerator.generateMetamodels

name := """my-app"""

version := "1.2.4-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava).settings(sourceGenerators in Compile += generateMetamodels(Seq("models")).taskValue)

scalaVersion := "2.12.2"

libraryDependencies ++= Dependencies.projectDependencies
# JDBC
db {
    default {
        driver = org.postgresql.Driver
        url = "jdbc:postgresql://localhost:5432/my-app"
        schema = myapp
        username = "user"
        password = "user"
        jndiName = DefaultDS
        logSql = false

        hikaricp {
            connectionTestQuery = SELECT 1
            minimumIdle = 20
            maximumPoolSize = 40
        }
    }
}
# Point JPA at our database configuration
jpa.default = defaultPersistenceUnit

# Job queue sized to HikariCP connection pool
database.dispatcher {
    executor = "thread-pool-executor"
    throughput = 1
    thread-pool-executor {
        fixed-pool-size = 40
    }
}