【问题标题】:Spring annotation for REST layerREST 层的 Spring 注解
【发布时间】:2013-10-09 13:08:24
【问题描述】:

我正在使用 ApacheCXF 开发 RESTful 服务。我正在使用 Spring 在每一层注入 bean。我有三层——REST 层、服务层(业务逻辑层)和 DAO 层。我知道我们可以用@Service 注释Service 层,用@Repository 注释DAO 层但是我们如何注释Rest 类?您是否建议使用 @Controller 对其进行注释?如果您使用 Spring MVC 开发 REST,我已经看到了许多将 Rest 类注释为 @Controller 的示例。 IMO,如果您也处理表示层,那么 Spring MVC 就会发挥作用(我可能错了,对此不太了解)但这只是一个 Web 服务,它托管在一个服务器上以供某些人使用一些数据其他应用。我过去没有使用过 Spring MVC,但是您什么时候建议使用 Spring MVC 开发 REST 服务?有什么好处?

【问题讨论】:

    标签: spring rest spring-mvc


    【解决方案1】:

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

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

    this blog post 不是重复已经编写的内容,而是很好地介绍了 Spring 3 中添加的 REST 支持,并概述了许多好处。

    【讨论】:

    • 感谢您的回复。还有一个问题——Jersey、RestEasy 和 Apache-CXF 是 JAX-RS 的实现。 Spring MVC 适合这里吗?它是 JAX-RS 的实现之一还是 Spring MVC 与实现之一一起存在?如果使用 Spring MVC 开发 REST ful 服务,我们可以获得什么好处?
    • Spring MVC 没有实现 JAX-RS 规范。通过将 Spring MVC 用于您的 RESTful 服务,您将获得一个编程模型,该模型与您已经使用 Spring 的应用程序的其余部分一致。这应该更容易开发和维护。
    猜你喜欢
    • 1970-01-01
    • 2017-12-31
    • 2017-01-15
    • 2016-07-08
    • 2011-10-29
    • 1970-01-01
    • 2020-06-09
    • 2017-11-06
    • 2011-07-09
    相关资源
    最近更新 更多