在HTTPS的文檔:// www.playframework.com/documentation/2.4.x/JavaDependencyInjection提到DI現已集成到框架:什麼方式來啓動一個遊戲2.4與Java的Java應用程序?
開箱,播放提供了依賴注入支持基於 JSR 330的默認JSR 330實現,它自帶的播放是 吉斯,但其他JSR 330的實現可插入。
我無法找到使用Spring任何HOWTO或工作的例子。
https://www.playframework.com/documentation/2.4.x/Tutorials上的當前文檔鏈接到https://analogafe.com/activator/template/play上的「使用Spring Data JPA播放」示例-spring-data-jpa,但評論已經提到它已過時。此外,在GitHub頁面https://github.com/typesafehub/play-spring-data-jpa上還有一些未解決的問題提及它在Play 2.4.0中無法使用。
該代碼是2歲,仍然使用Global.java類來引導Spring。我會很好,但是由於方法getControllerInstance(),代碼不能在Play 2.4中編譯。
該項目https:// github.com/jroper/play-spring看起來很有前景,但它在Scala中,並且列出了很多TODO,以及https://github.com/jroper/play-SpringApplicationLoader類, spring/blob/master/core/src/main/scala/play/api/inject/spring/SpringApplicationLoader.scala看起來太複雜了,我只想開始一個簡單的Spring上下文。
現在它看起來像我不得不降級播放使用舊Global.java破解(並找出所需的所有變化......)
(編輯一些請把回鏈接時,他們是合法的,它不會讓我...)
是的,這就是我做的也是:一個吉斯「@辛格爾頓」服務在我「@Inject」 ApplicationLifecycle並手動啓動Spring容器。然後我「@Inject」這個Guice服務,無論我需要訪問Spring服務。這不是完美的,但它的工作原理。 –
哇,玩人們正在用他們的「最小」更新做出一些奇怪的決定。遷移到2.3並不是一件容易的事,因爲他們對API做了很大的改變,現在我們不能輕易地遷移到2.4,因爲沒有Global。在2.5.1中,他們不支持JAVA,並且在2.5.2中不再支持SCALA。 hahhaha – rsan
嗨@Devabc,我正在停止更新到2.4,但我想使用最新的netty容器,唯一干淨的方式是更新爲2.4和更高版本,以玩2.5。您是否使用Play-Java-Spring模板試驗過任何類型的問題?性能開銷? SpringDI的完整規範是否可用?在我對sep/2015的評論中,我正在取笑Play如何打破版本之間的兼容性。剛剛讀到2.5的遷移指南,它看起來非常長:S – rsan