Is is possible to use Spring MVC with Groovy or Scala?

Refresh

November 2018

Views

2.8k time

5

I wanted to know if it was possible to use Spring MVC with a different JVM language than Java, e.g. Groovy or Scala. Or can Groovy only be run on Grails?

Also if it is possible, is this something which people try often, or do they just stick to the framework traditionally used?

Rob

7 answers

0

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

Правильно?

0

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

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

2

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

0

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

5

Spring работает отлично с Скале , потому что Scala компилируется в обычные .classфайлы , которые являются Java-эквивалентом байткодом. Я использую Весна и 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>
3

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

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

-1

Ваш вопрос должен быть классифицирован. 1, заводные или Scala компилировать класс и развернут 2, заводной не компилирует только развернуто коту 3, используя традиционные рамки пружины с небольшой заводной 4, используя совершенно новую основу для работы с заводными например Грааль , если вы хотите использовать traditiongal рамки пружинной например spingmvc springcloud и хочет добавить некоторые заводные к implment Bussiness логики коды, пожалуйста используйте новый Lib микро-MVC https://github.com/jeffreyning/micro-mvc это Lib может сканировать интерфейс как springbean и создать прокси - сервер для выполнения заводных.