我想知道是否有可能使用Spring MVC以不同於Java的JVM語言,例如, Groovy或Scala。或者Groovy只能在Grails上運行?可以使用Spring MVC與Groovy或Scala嗎?
此外,如果有可能,這是人們經常嘗試的東西,還是他們只是堅持傳統使用的框架?
我想知道是否有可能使用Spring MVC以不同於Java的JVM語言,例如, Groovy或Scala。或者Groovy只能在Grails上運行?可以使用Spring MVC與Groovy或Scala嗎?
此外,如果有可能,這是人們經常嘗試的東西,還是他們只是堅持傳統使用的框架?
Grails是在Spring MVC之上實現的,所以它絕對有可能。你也可以在Spring MVC中使用Scala。我不知道你會用Spring MVC從Scala中獲得最多的里程數 - 沒有太多機會使用Scala的函數式編程功能 - 但沒有什麼能阻止你嘗試它。
我不能說斯卡拉,但我已經親自使用Spring與Groovy。在天堂做的配對:)
當然,spring對Groovy等動態語言提供了很好的支持。參考手冊中有一整章:http://static.springsource.org/spring/docs/2.5.6/reference/dynamic-language.html
至於scala;我試過這樣做,這是可能的。問題在於JSP(或者說Spring MVC支持的大多數模板語言)不能理解scala集合類型,所以我發現自己在scala和java集合之間進行了很多轉換。這應該是更好的斯卡拉2.8.0,但我沒有測試過自己。
Spring與scala很好地合作,因爲scala編譯爲正常的.class
文件,這些文件是與Java等效的字節碼。我一直使用Spring和Scala。使用Spring XML的可擴展性,它甚至可以添加支持特定的Scala類型,例如:
<bean class="my.scala.Class">
<property name="listProp">
<scala:list value-type="java.lang.Integer">
<value>1</value>
</scala:list>
</property>
</bean>
春的作品非常好,斯卡拉,雖然斯卡拉本身意味着你不需要 一個功能在許多情況下依賴注入框架(如Spring)。另外,Scala並不是一種動態語言,它是一種靜態語言,就像Java一樣。 Scala的主要目標之一是與Java的最大互操作性。這意味着Scala可以編譯爲類似於Java對象的類文件,並且可以通過外部庫和框架(如Spring)無縫地用作Java對象。
那麼,如何在scala中編寫業務邏輯,以便在多核心環境下可以很好地擴展功能,並讓其餘部分由Spring和Hibernate處理。我認爲這是獲得兩全其美的好方法。當然,我們可以通過Web應用程序框架來提升它,但我認爲Spring實際上已經比較成熟並且具有更多的功能。但業務邏輯就是滾動的地方,所以Scala和FP可以比命令式java更好地處理這個問題。
對不對?
Scala是一種靜態類型語言,不是一種動態類型語言。 – 2009-12-23 20:19:54
任何機會你都可以編輯這個問題來反映這個問題,也許還有其他跡象表明你還沒有簡單地放棄這個問題。 – 2010-01-10 15:07:32