Возможно использовать Spring MVC с Groovy или Scala?

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

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

5
задан Nils Schmidt 18 December 2013 в 22:21
поделиться

6 ответов

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

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

3
ответ дан 14 December 2019 в 01:09
поделиться

Spring прекрасно работает со скалой, так как скала компилируется в обычные .class файлы, которые являются Java-эквивалентным байткодом. Я постоянно использую Spring и scala. Можно даже использовать XML-расширение пружины для добавления поддержки скала-специфичных типов, например:

<bean class="my.scala.Class">
    <property name="listProp">
        <scala:list value-type="java.lang.Integer">
            <value>1</value>
        </scala:list>
    </property>
</bean>
5
ответ дан 14 December 2019 в 01:09
поделиться

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

.
2
ответ дан 14 December 2019 в 01:09
поделиться

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

.
0
ответ дан 14 December 2019 в 01:09
поделиться

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

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

0
ответ дан 14 December 2019 в 01:09
поделиться

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

Верно?

0
ответ дан 14 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: