任何人都可以推荐基于MVC的Java Web框架并支持REST吗?

我们希望在Web应用程序中托管Java域模型(使用DDD编写)。 理想情况下,我想支持RESTful资源和请求,只有一个站点支持用户和REST API。

理想情况下,相同的URL可以用于最终用户和给定function的RESTful API(HTTP内容类型/协商指定差异)。

我在Ruby on Rails和Asp.mvc中做过类似的应用程序,但没有经验在Java中做过这样的事情。 任何人都有从哪里开始的经验或建议? (谷歌搜索表明Spring v3可能是一个答案,任何人都对Spring 3有任何想法?)

对于Web服务, Jersey非常简单。 Spring 3听起来很不错,但它还没有出来,而且Jerseyfunction齐全,支持开箱即用的SOAP和JSON。 除了将servlet添加到web.xml文件之外,它都是基于注释的,这使得它甚至比Spring插件更容易配置,但为了避免被大吼大叫,我会说也许不是。

对于(MVC)网页(用户UI),我使用Spring MVC或Struts。

Spring 3尚未准备就绪,但目前的里程碑版本(M3)足够稳定,可用于真实版本。 我们已经在生产应用程序中使用其REST支持。 它非常好,并且与Spring MVC非常吻合。 它不符合JAX-RS,但我不认为这是一个问题。

Restlets框架 http://www.restlet.org/

我已经广泛使用了这个框架,易于使用,非常灵活,并且支持大量function,并且您希望从文件上传到gzipping响应更多。

这个模块也有Spring支持,非常简单。 例如:

web.xml中

 webapi  com.noelios.restlet.ext.spring.RestletFrameworkServlet   

spring的背景

            

框架还有一个很好的文档 , 新手的第一步和伟大的WIKI 。

这个框架非常成熟并且积极改进,检查了即将到来的function 。

使用jmock对您的Restlet资源端点进行unit testing也非常容易。

希望有所帮助。

spring很棒。 我已将它用于某些项目,最近还与Liferay门户服务器一起用于开发portlet 。

为什么spring好?

  • 它是一个非侵入式框架:这意味着您的应用程序代码不依赖于框架(使用IoC – 控制反转 – 概念)。 Spring确实是一个好的框架应该做的事情:支持开发而不是创建进一步的依赖。
  • dependency injection:Spring使用dependency injection概念,这对于避免依赖于代码非常有用。 您将在spring xml配置文件中定义依赖项,您可以在其中定义bean和bean之间的连接/关系。 这极大地方便了重用,降低了对象之间的强耦合,从而提高了代码的可维护性。
  • 它不仅仅是一个Web框架:Spring MVC提供了许多适用于不同环境的不同控制器。 但它不仅仅是一个Web框架,而且它支持所有不同层(表示,服务和数据访问层)的开发。 例如,在数据访问层,它很好地与像Hibernate这样的ORM映射器集成,并且它使用面向方面的方法来提供事务管理。
  • 低耦合 – >提高可测试性:通过避免强耦合,代码的可测试性将会提高。 您可以很好地注入模拟对象来测试不同的层。

总而言之,我只是积极的经历,因为Spring真的推广了最佳实践。

我是monorail MVC用户(castleproject.org),所以我猜我们来自类似的背景。 几个月前,我们开始在不同的项目中处理java堆栈,特别是Spring。

特征方面,它拥有我在单轨中所用的90%,但它更灵活,缺点是有很多配置需要习惯。 文档有时太多,所以你不知道在哪里找到东西。 希望能帮助到你