2009-12-23 31 views
5

我想知道是否有可能使用Spring MVC以不同於Java的JVM語言,例如, Groovy或Scala。或者Groovy只能在Grails上運行?可以使用Spring MVC與Groovy或Scala嗎?

此外,如果有可能,這是人們經常嘗試的東西,還是他們只是堅持傳統使用的框架?

+6

Scala是一種靜態類型語言,不是一種動態類型語言。 – 2009-12-23 20:19:54

+2

任何機會你都可以編輯這個問題來反映這個問題,也許還有其他跡象表明你還沒有簡單地放棄這個問題。 – 2010-01-10 15:07:32

回答

2

Grails是在Spring MVC之上實現的,所以它絕對有可能。你也可以在Spring MVC中使用Scala。我不知道你會用Spring MVC從Scala中獲得最多的里程數 - 沒有太多機會使用Scala的函數式編程功能 - 但沒有什麼能阻止你嘗試它。

0

我不能說斯卡拉,但我已經親自使用Spring與Groovy。在天堂做的配對:)

3

當然,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,但我沒有測試過自己。

5

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> 
0

春的作品非常好,斯卡拉,雖然斯卡拉本身意味着你不需要 一個功能在許多情況下依賴注入框架(如Spring)。另外,Scala並不是一種動態語言,它是一種靜態語言,就像Java一樣。 Scala的主要目標之一是與Java的最大互操作性。這意味着Scala可以編譯爲類似於Java對象的類文件,並且可以通過外部庫和框架(如Spring)無縫地用作Java對象。

0

那麼,如何在scala中編寫業務邏輯,以便在多核心環境下可以很好地擴展功能,並讓其餘部分由Spring和Hibernate處理。我認爲這是獲得兩全其美的好方法。當然,我們可以通過Web應用程序框架來提升它,但我認爲Spring實際上已經比較成熟並且具有更多的功能。但業務邏輯就是滾動的地方,所以Scala和FP可以比命令式java更好地處理這個問題。

對不對?

相關問題