2013-10-03 40 views
1

我正在开发一个使用ApacheCXF的RESTful服务。我使用Spring在每一层注入bean。我有三层 - REST层,Service层(业务逻辑层)和DAO层。我知道我们可以使用@Repository注解@Service和DAO层的服务层,但我们如何注释Rest类?你建议用@Controller注释它吗?如果您使用Spring MVC开发REST,我已经看到很多示例,其中Rest类注释为@Controller。国际海事组织(IMO),Spring MVC也会发挥作用,如果你已经处理了表示层(我可能是错的,对此没有太多的想法),但这只是一个Web服务,它托管在一台服务器上,其他应用。我过去并没有使用过Spring MVC,但是你什么时候会建议使用Spring MVC开发REST服务?有什么好处?REST层的Spring注解

回答

2

如果您已经在使用Spring,那么Spring MVC就是编写RESTful服务的方法。

在Spring 3之前,Spring MVC非常专注于传统的模型 - 视图 - 控制器Web应用程序,这些应用程序通常会将HTML返回给Web浏览器。 Spring 3增加了使用Spring @Controllers构建RESTful服务的支持,Spring @ Controller通常配置为返回JSON或XML有效载荷。

除了重写已经写入的内容之外,this blog post还是对Spring 3中添加的REST支持的一个很好的介绍,并概述了一些优点。

+0

感谢您的回复。还有一个问题 - Jersey,RestEasy和Apache-CXF是JAX-RS的实现。 Spring MVC在这里适合哪里?它是JAX-RS的实现之一还是Spring MVC与其中一个实现一起存在?如果使用Spring MVC开发RESTful服务,我们会得到什么好处? – Pankaj

+0

Spring MVC没有实现JAX-RS规范。通过为您的RESTful服务使用Spring MVC,您将得到一个与已经使用Spring的其他应用程序一致的编程模型。这应该会使开发和维护更容易。 –