GET请求的Spring批注

这两种类型的spring GET方法有什么区别?首选方法是哪一种?

@Component

@Scope("request")

@Path("/")

public class TestComponent {

@GET

@Path("/hello")

public String printHello() {

return "hello";

}

}

@Controller

public class TestController {

@RequestMapping(value = "/hello", method = RequestMethod.GET)

public String printHello() {

return "hello"

}

}

回答:

您发布的两个示例中只有一个是实际的 Spring GET,这就是第二个@RequestMapping(value = "/hello", method

= RequestMethod.GET)注释。它是Spring MVC的实现。

另外一个,第一个@GET @Path("/hello"),实际上是一个 JAX-RS

GET规范,您将需要一个实现了JAX-

RS,使其工作。

它们之间的主要区别不仅在于“

GET”,还在于整个框架。像这样的详细文章已经涵盖了JAX-RS和Spring MVC RESTful之间的差异。

由于REST不是正式的规范,因此它的实现可能会与其他提供商有所不同,但是概念是相同的。

Spring MVC的RESTful将更紧密地集成到Spring框架中。

JAX-RS将遵循Java EE实施,并且该集成将使整个Java EE环境受益。

您还可以“合并” Spring和Java EE。有些连接器可以集成Spring和JAX-

RS,因此您可以从一个或另一个中受益。请参阅此示例。

因此,首选方法取决于。一般来说:

  • 如果您在完整的Java EE容器中运行(如JBoss或Glassfish),请使用 方法。JAX-RS的实现将在环境中可用。
  • 如果您在Spring IoC中运行并且想与Java EE分离,请使用 方法。
  • 如果您正在使用Java EE Web Profile(例如Tomcat),则必须根据特定条件(例如将使用的接口框架)以及为此目的构建应用程序来决定。

我发现Spring在Tomcat中更易于配置和设置,但这是我的看法。也有spring异常处理@ControllerAdvice@ExceptionHandler解决了我的REST风格的JSON什么我需要完美的处理,但也许有类似的东西了JAX-

RS也。

最后,我认为您应该主要根据要运行的环境来定义RESTful框架(JAX-RS,Spring或其他),同时还要考虑需要的所有集成和资源。您的项目。

以上是 GET请求的Spring批注 的全部内容, 来源链接: utcz.com/qa/400988.html

回到顶部