可以使用带有Groovy或Scala的Spring MVC吗?

时间:2009-12-23 16:18:44

标签: scala groovy spring-mvc

我想知道是否可以使用与Java不同的JVM语言的Spring MVC,例如: Groovy或Scala。或者Groovy只能在Grails上运行吗?

此外,如果有可能,这是人们经常尝试的事情,还是只是坚持传统上使用的框架?

7 个答案:

答案 0 :(得分:5)

Spring与scala完美配合,因为scala编译为普通的.class文件,这些文件是Java等效的字节码。我一直使用Spring和scala。甚至可以使用Spring XML-extensibility添加对特定于scala的类型的支持,例如:

<bean class="my.scala.Class">
    <property name="listProp">
        <scala:list value-type="java.lang.Integer">
            <value>1</value>
        </scala:list>
    </property>
</bean>

答案 1 :(得分:3)

当然,Spring对Groovy等动态语言提供了出色的支持。参考手册中有一整章:http://static.springsource.org/spring/docs/2.5.6/reference/dynamic-language.html

scala;我试过这样做,这是可能的。问题是JSP(或者春天mvc支持的大多数模板语言)不能“理解”scala集合类型,因此我发现自己在scala和java集合之间进行了很多转换。这应该在Scala 2.8.0中更好,但我自己没有测试过。

答案 2 :(得分:2)

Grails是在Spring MVC之上实现的,所以它绝对是可能的。您也可以将Scala与Spring MVC一起使用。我不知道你使用Spring MVC获得最多的Scala里程 - 没有很多机会使用Scala的函数编程功能 - 但没有什么可以阻止你尝试它。

答案 3 :(得分:0)

我不能代表Scala,但我个人使用Spring和Groovy。在天堂比赛:)

答案 4 :(得分:0)

Spring与Scala非常兼容,尽管Scala本身具有您不需要的功能  在许多情况下,依赖注入框架(例如Spring)。

此外,Scala不是一种动态语言,它是一种静态语言,就像Java一样。 Scala的主要目标之一是与Java的最大互操作性。这意味着Scala编译为外观和感觉就像Java对象的类文件,并且可以通过外部库和框架(如Spring)无缝地用作Java对象。

答案 5 :(得分:0)

那么,如何在scala中编写业务逻辑,以便功能方式在多核环境中很好地扩展,并让其余部分由Spring和Hibernate处理。我认为这是一个非常好的方式来获得两全其美。当然,人们可以将其作为一个Web应用程序框架,但我认为Spring实际上更成熟并且具有更多功能。但是业务逻辑是滚动滚动的地方,因此Scala和FP可以比命令式java更好地处理这个问题。

右?

答案 6 :(得分:-1)

您的问题应分类:

  1. groovy或scala可以分类并部署
  2. groovy无法编译,只是部署到tomcat
  3. 使用具有一些常规功能的传统spring框架
  4. 使用全新的框架与groovy配合使用,例如圣杯

如果您想使用传统的Spring框架,例如spingmvc springcloud,并想添加一些常规功能以实现业务逻辑代码,请使用新的lib micro-mvc:https://github.com/jeffreyning/micro-mvc

该库可以将界面扫描为springbean并创建代理来执行groovy。