2009-12-23 4 views
5

Я хотел знать, можно ли использовать Spring MVC с другим языком JVM, чем Java, например. Groovy или Scala. Или Гровой может быть запущен только на Грайле?Можно ли использовать Spring MVC с Groovy или Scala?

Также, если это возможно, это то, что люди часто пытаются попробовать, или просто придерживаются традиционно используемой структуры?

+6

Scala - это статически типизированный язык, а не динамически типизированный. –

+2

Любой шанс вы можете отредактировать вопрос, чтобы отразить это, и, возможно, дать другие указания, что вы не просто отказались от вопроса. –

ответ

2

Grails реализован поверх Spring MVC, поэтому это определенно возможно. Вы также можете использовать Scala с Spring MVC. Я не знаю, что вы получите максимальный пробег из Scala с Spring MVC - не так много возможностей использовать функции функционального программирования Scala, но нет ничего, что помешало бы вам попробовать.

0

Я не могу говорить для Scala, но лично использовал Spring с Groovy. Матч, сделанный на небесах :)

3

Несомненно, весна отлично поддерживает динамические языки, такие как Groovy. В справочном руководстве имеется целая глава: http://static.springsource.org/spring/docs/2.5.6/reference/dynamic-language.html

Что касается scala; Я пытался это сделать, и это возможно. Проблема в том, что JSP (или, самое главное, самые шаблонные языки, поддерживаемые весной mvc), не «понимает» типы коллекции scala, поэтому я очень много переводил между коллекциями scala и java. Это должно быть лучше в Scala 2.8.0, но я не проверял это сам.

5

Весна прекрасно работает с 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, хотя сама Scala имеет особенности, которые означают, что вам не нужно в (например, Spring) во многих случаях.

Кроме того, Scala не является динамическим языком, это статический язык, как и Java. Одной из основных целей Scala была максимальная совместимость с Java. Это означает, что Scala сводится к файлам классов, которые выглядят и чувствуют себя подобно объектам Java, и могут быть легко использованы в качестве объектов Java внешними библиотеками и фреймворками, такими как Spring.

0

Ну, а как насчет написания бизнес-логики в scala, так что функциональный способ хорошо масштабируется в многоядерных средах и позволяет остальным обрабатывать Spring и Hibernate. Я думаю, что это очень хороший способ получить лучшее из обоих миров. Конечно, можно использовать как платформу веб-приложений, но я думаю, что Spring более зрелая и имеет больше возможностей. Но бизнес-логика - это то, где мяч катится, и поэтому Scala и FP могут справиться с этим лучше, чем настоятельная java.

Справа?

Смежные вопросы