2009-12-23 16 views
5

Quería saber si era posible utilizar Spring MVC con un lenguaje JVM diferente de Java, p. Ej. Groovy o Scala. ¿O Groovy solo puede ejecutarse en Grails?¿Es posible utilizar Spring MVC con Groovy o Scala?

Además, si es posible, ¿es esto algo que las personas prueban a menudo, o simplemente se apegan al marco tradicionalmente utilizado?

+6

Scala es un lenguaje estáticamente estático, no uno dinamizado dinámicamente. –

+2

Cualquier posibilidad de que pueda editar la pregunta para reflejar esto, y tal vez dar otras indicaciones de que no ha abandonado la pregunta. –

Respuesta

2

Grails se implementa en la parte superior de Spring MVC, por lo que es definitivamente posible. También puede usar Scala con Spring MVC. No sé si sacaría el mayor provecho de Scala con Spring MVC, no hay muchas oportunidades para usar las características de programación funcional de Scala, pero no hay nada que le impida probarlo.

0

No puedo hablar por Scala, pero personalmente he usado Spring with Groovy. Match made in heaven :)

3

Sure, spring tiene un excelente soporte para lenguajes dinámicos como Groovy. Hay un capítulo completo en el manual de referencia: http://static.springsource.org/spring/docs/2.5.6/reference/dynamic-language.html

En cuanto a scala; Intenté hacer esto y es posible. El problema es que JSP (o para la mayoría de los lenguajes de plantillas soportados por spring mvc) no 'entiende' los tipos de colección scala, así que me encontré convirtiendo bastante entre las colecciones scala y java. Esto debería ser mejor en Scala 2.8.0 pero no lo he probado yo mismo.

5

Spring funciona perfectamente bien con scala porque scala compila los archivos normales .class que son bytecode equivalente a Java. Uso Spring y Scala todo el tiempo. Es incluso posible utilizar el XML Spring-extensibilidad para añadir soporte para tipos-SCALA específica, por ejemplo:

<bean class="my.scala.Class"> 
    <property name="listProp"> 
     <scala:list value-type="java.lang.Integer"> 
      <value>1</value> 
     </scala:list> 
    </property> 
</bean> 
0

El resorte funciona muy bien con Scala, aunque sí Scala tiene características que se refiere a que no es necesario una marco de inyección de dependencia (como Spring) en muchos casos.

Además, Scala no es un lenguaje dinámico, es un lenguaje estático tal como lo es Java. Uno de los principales objetivos de Scala fue la máxima interoperabilidad con Java. Esto significa que Scala se compila en archivos de clase que se ven y se sienten como objetos Java, y que pueden ser utilizados sin problemas como objetos Java por bibliotecas y marcos externos, como Spring.

0

Bueno, ¿qué hay de escribir la lógica de negocio en scala, para que la forma funcional se adapte bien en entornos de núcleo múltiple y que el resto sea manejado por Spring e Hibernate. Creo que esta es una muy buena manera de obtener lo mejor de ambos mundos. Por supuesto, uno puede utilizarlo como un marco de aplicación web, pero creo que Spring está más maduro y tiene más funciones. Pero la lógica de negocios es donde la bola está rodando, por lo que Scala y FP pueden manejar esto mejor que el imperativo Java.

Derecho?

Cuestiones relacionadas