2009-12-23 28 views
5

Tôi muốn biết liệu có thể sử dụng Spring MVC bằng ngôn ngữ JVM khác với Java hay không, ví dụ: Groovy hoặc Scala. Hoặc Groovy chỉ có thể chạy trên Grails?Có thể sử dụng Spring MVC với Groovy hoặc Scala không?

Ngoài ra nếu có thể, đây có phải là điều mà mọi người thường hay thử, hoặc họ chỉ tuân theo khuôn khổ truyền thống được sử dụng?

+6

Scala là ngôn ngữ được nhập tĩnh, không phải là ngôn ngữ được nhập động. –

+2

Bất kỳ cơ hội nào bạn có thể chỉnh sửa câu hỏi để phản ánh điều này và có thể đưa ra các chỉ dẫn khác mà bạn chưa bỏ qua câu hỏi. –

Trả lời

2

Grails được triển khai ở trên cùng của Spring MVC, vì vậy nó chắc chắn là có thể. Bạn cũng có thể sử dụng Scala với Spring MVC. Tôi không biết rằng bạn sẽ tận dụng tối đa Scala với Spring MVC - không có nhiều cơ hội để sử dụng các tính năng lập trình chức năng của Scala - nhưng không có gì ngăn cản bạn thử nó.

0

Tôi không thể nói cho Scala, nhưng cá nhân tôi đã sử dụng Spring với Groovy. Trận đấu được thực hiện ở trên trời :)

3

Chắc chắn, mùa xuân có hỗ trợ tuyệt vời cho các ngôn ngữ động như Groovy. Có toàn bộ chương trong hướng dẫn tham khảo: http://static.springsource.org/spring/docs/2.5.6/reference/dynamic-language.html

Đối với scala; Tôi đã thử làm điều này và có thể. Vấn đề là JSP (hoặc cho rằng vấn đề ngôn ngữ templating nhất được hỗ trợ bởi mùa xuân mvc) không 'hiểu' các loại bộ sưu tập scala vì vậy tôi thấy mình chuyển đổi giữa các bộ sưu tập scala và java khá nhiều. Điều này nên được tốt hơn trong Scala 2.8.0 nhưng tôi đã không thử nghiệm này bản thân mình.

5

Spring hoạt động hoàn hảo tốt với scala vì scala biên dịch thành các tệp thông thường là .class là bytecode tương đương với Java. Tôi sử dụng Spring và scala mọi lúc. Nó thậm chí còn có thể sử dụng vào mùa xuân XML mở rộng để hỗ trợ thêm cho các loại scala cụ thể, ví dụ:

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

Xuân hoạt động rất tốt với Scala, mặc dù Scala chính nó có tính năng đó có nghĩa là bạn không cần phải một khuôn khổ tiêm phụ thuộc (như Spring) trong nhiều trường hợp.

Ngoài ra, Scala không phải là ngôn ngữ động, đó là ngôn ngữ tĩnh giống như Java. Một trong những mục tiêu chính của Scala là khả năng tương tác tối đa với Java. Điều này có nghĩa là Scala biên dịch xuống các tệp lớp trông giống như các đối tượng Java và có thể được sử dụng liền mạch như các đối tượng Java bởi các thư viện và khung bên ngoài, chẳng hạn như Spring.

0

Vâng, điều gì về cách viết logic nghiệp vụ trong scala, để cách chức năng cân bằng tốt trong môi trường đa lõi và để phần còn lại được xử lý bởi Spring và Hibernate. Tôi nghĩ đây là một cách khá hay để có được những điều tốt đẹp nhất của cả hai thế giới. Tất nhiên người ta có thể nâng lên như một khuôn khổ ứng dụng web, nhưng tôi nghĩ rằng mùa xuân thực sự trưởng thành hơn và có nhiều tính năng hơn. Nhưng logic kinh doanh là nơi mà quả bóng đang lăn và vì vậy Scala và FP có thể xử lý điều này tốt hơn so với java bắt buộc.

Phải không?

Các vấn đề liên quan