Java GET请求的Spring注释
这两种类型的spring-GET方法之间有什么区别?哪一种是首选方法Java GET请求的Spring注释,java,spring,spring-mvc,Java,Spring,Spring Mvc,这两种类型的spring-GET方法之间有什么区别?哪一种是首选方法 @Component @Scope("request") @Path("/") public class TestComponent { @GET @Path("/hello") public String printHello() { return "hello"; } } vs 第一种方法是JAX-RS方法,它与任何JAX-RS实现都兼容 第二个使用SpringMVC
@Component
@Scope("request")
@Path("/")
public class TestComponent {
@GET
@Path("/hello")
public String printHello() {
return "hello";
}
}
vs
第一种方法是JAX-RS方法,它与任何JAX-RS实现都兼容 第二个使用SpringMVC注释,并且仅与SpringMVC兼容 这两种类型的spring GET方法有什么区别? 您发布的两个示例中只有一个是实际的Spring GET,这是第二个
@RequestMapping(value=“/hello”,method=RequestMethod.GET)
注释。这是一个SpringMVC实现
另一个,第一个@GET@Path(“/hello”)
,实际上是一个JAX-RSGET规范,您将需要一个JAX-RS规范来实现它
它们之间的主要区别不仅在于“GET”,还在于总体框架。已经有人介绍了JAX-RS和Spring MVC RESTful之间的区别
由于REST不是一个正式的规范,它的实现可能会因提供者的不同而略有不同,但概念是相同的
哪种方法是首选方法?
SpringMVC的RESTful将更紧密地集成到Spring框架中
JAX-RS将遵循JavaEE实现,集成将使完整的JavaEE环境受益
您还可以“合并”Spring和JavaEE。有一些连接器可以集成Spring和JAX-RS,这样您就可以从中获益。看
因此,首选的方法取决于。一般来说:
- 如果您在完整的JavaEE容器(如JBoss或Glassfish)中运行,请使用JAX-RS方法。JAX-RS的实现将已经在环境中可用
- 如果您在SpringIOC中运行,并且希望与JavaEE保持分离,请使用SpringMVC RESTful方法
- 如果您使用的是javaeeweb概要文件,比如Tomcat,那么您必须根据特定的标准来决定,比如您将使用哪个接口框架,并且为此目的您正在构建应用程序
@ControllerAdvice
和@ExceptionHandler
完美地解决了我的RESTful JSON处理问题,满足了我的需要,但JAX-RS可能也有类似的功能
最后,我认为您应该主要基于您将要运行的环境来定义RESTful框架(JAX-RS、Spring,甚至其他框架),同时还要考虑到您的项目将需要的所有集成和资源。第一个是使用Spring IoC来管理资源(
@Component
和@Scope
),但是JAX-RS实现使用对象。
@Controller
public class TestController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String printHello() {
return "hello"
}
}