Dependency injection Guice@Inject不';行不通
我有DI的指南。 我可以将我的存储库注入控制器(构造函数注入): 我有一个空的 Build.sbt文件: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
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
}
}