Возможно ли использовать Spring MVC с Groovy или Scala? - PullRequest
5 голосов
/ 23 декабря 2009

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

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

Ответы [ 7 ]

5 голосов
/ 24 декабря 2009

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

<bean class="my.scala.Class">
    <property name="listProp">
        <scala:list value-type="java.lang.Integer">
            <value>1</value>
        </scala:list>
    </property>
</bean>
3 голосов
/ 23 декабря 2009

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

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

2 голосов
/ 23 декабря 2009

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

0 голосов
/ 02 ноября 2018

Ваш вопрос должен быть классифицирован:

  1. Groovy или Scala компилируются в класс и развернуты
  2. groovy not compile только что развернут на tomcat
  3. с использованием традиционных пружинных рамок с небольшим пазом
  4. использование новой фреймворк для работы с Groovy, например. Грааль

Если вы хотите использовать традиционные пружинные рамки, например, spingmvc springcloud и хотите добавить немного отличного кода для реализации кода бизнес-логики, используйте новую lib micro-mvc: https://github.com/jeffreyning/micro-mvc

Эта библиотека может сканировать интерфейс как Springbean и создавать прокси для исполнения groovy.

0 голосов
/ 31 марта 2010

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

правый

0 голосов
/ 07 января 2010

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

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

0 голосов
/ 23 декабря 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...