我正在使用Play 2.5与Guice依赖注入。如何使用FQDN字符串将Google Guice绑定到类
正常绑定的工作原理是:
bind(classOf[SomeClass]).to(classOf[DefaultClass])
我现在只需要能够绑定在类名已在配置中指定的类。
我想是这样的:
val className = config.getString("someClass.className")
val x: Class[_] = Class.forName(className)
bind(classOf[SomeClass]).to(classOf[x])
但随后的类型是错误的。
它需要通过吉斯做,因为SomeClass
具有需要被注入一个说法,否则我会用类似
val className = config.getString("someClass.className")
val x = Class.forName(className).newInstance().asInstanceOf[SomeClass]
bind(classOf[SomeClass]).toInstance(x)
有谁知道如何将它通过吉斯绑定的想法?
你不能投它是正确的泛型类型?我不知道斯卡拉,但在Java'类 clazz =(Class )Class.forName(className);绑定(SomeClass.class).to(clazz);' –