我想知道是否可以使用与Java不同的JVM语言的Spring MVC,例如: Groovy或Scala。或者Groovy只能在Grails上运行吗?
此外,如果有可能,这是人们经常尝试的事情,还是只是坚持传统上使用的框架?
答案 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)
您的问题应分类:
如果您想使用传统的Spring框架,例如spingmvc springcloud,并想添加一些常规功能以实现业务逻辑代码,请使用新的lib micro-mvc:https://github.com/jeffreyning/micro-mvc
该库可以将界面扫描为springbean并创建代理来执行groovy。