我正在使用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);' –