📜  带有示例的 Spring @ResponseBody 注解

📅  最后修改于: 2022-05-13 01:55:39.379000             🧑  作者: Mango

带有示例的 Spring @ResponseBody 注解

Spring Annotations允许我们通过Java程序配置依赖并实现依赖注入。这些用于提供有关程序的补充信息。它对他们注释的代码的操作没有直接影响。它不会改变编译程序的动作。 @ResponseBody 注解告诉控制器返回的对象自动序列化为 JSON 并传回 HttpResponse 对象。当您在方法上使用 @ResponseBody 注解时,Spring 会自动转换返回值并将其写入 HTTP 响应。 Controller 类中的每个方法都必须使用@ResponseBody 进行注解。

Spring @ResponseBody 注解

那么让我们通过一个例子来理解@ResponseBody Annotation。

执行:

设置项目

第 1 步:在您的 STS IDE 中创建一个动态 Web 项目。您可以参考这篇文章在 STS中创建动态 Web 项目:如何在 Spring Tool Suite 中创建动态 Web 项目?

第 2 步:下载 spring JARs 文件并转到src > main > webapp > WEB-INF > lib文件夹并通过这些 JAR 文件。

第 3 步:使用您的应用程序配置 tomcat 服务器。现在我们准备好了。

配置 Dispatcher Servlet

第 4 步:转到src > main > webapp > WEB-INF > web.xml文件, web.xml文件的完整代码如下所示:

XML


   
  myfirst-mvc-project
  
    index.html
    index.jsp
    index.htm
    default.html
    default.jsp
    default.htm
  
   
  
   
  
      
    frontcontroller-dispatcher
    
    org.springframework.web.servlet.DispatcherServlet
    1
  
   
  
      
    frontcontroller-dispatcher
    
    /student.com/*
  
   


XML


   
  
 


Java
// Java Program to Illustrate DemoController Class
 
package com.student.controllers;
 
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
// Annotation
@Controller
// Class
public class DemoController {
 
    // Annotation
    @ResponseBody
    @RequestMapping("/hello")
 
    // Method
    public String helloWolrd()
    {
        return "Hello World!";
    }
}


第 5 步:现在转到src > main > webapp > WEB-INF并创建一个 XML 文件。实际上,这是一个 Spring 配置文件,如 beans.xml 文件。并且文件名必须采用以下格式:

YourServletName-servlet.xml  

例如,对于这个项目,文件的名称必须是

frontcontroller-dispatcher-servlet.xml

因此,您可以创建一个 Spring 配置文件,也可以只创建一个简单的 XML 文件,在该文件中添加以下代码行。

文件:frontcontroller-dispatcher-servlet.xml

XML



   
  
 

创建控制器类

第 6 步:现在,让我们创建一些控制器。转到 src/main/ Java并根据您的选择创建一个新的控制器包(例如 com.student.controllers)。并在其中创建一个Java类并将该类命名为 DemoController。现在如何告诉 Spring 这是我们的控制器类。所以我们要告诉 Spring 的方法是用 @Controller 注释标记它。

@Controller
public class DemoController 
{    
}

现在让我们在 Controller 类中创建一个简单的方法,并在方法之前使用 @ResponseBody 注释,如下所示。

// Annotation 
@ResponseBody
@RequestMapping("/hello")

// Method 
public String helloWolrd() 
{
    return "Hello World!";
}

现在让我们了解注释。所以基本上@RequestMapping(“/hello”),这一行的意思是,在 URL 中,如果有人点击 student.com/hello,那么这个特定的方法将被执行,并且它将执行在该特定方法中写入的操作。例如,对于这个项目,我们只是返回一条消息“Hello World!”我们期望这将显示在客户端浏览器中。但这件事不会发生。为了实现它,我们需要使用@ResponseBody 注释。所以@ResponseBody 注释基本上会在你的 HTTP 响应中写入这个特定的消息,这里是“Hello World!”。

文件:演示控制器。Java

Java

// Java Program to Illustrate DemoController Class
 
package com.student.controllers;
 
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
// Annotation
@Controller
// Class
public class DemoController {
 
    // Annotation
    @ResponseBody
    @RequestMapping("/hello")
 
    // Method
    public String helloWolrd()
    {
        return "Hello World!";
    }
}

运行 Spring MVC 控制器

第 7 步:要运行您的 Spring MVC 应用程序,请右键单击您的项目 > 运行方式 > 在服务器上运行并运行您的应用程序。之后使用以下 URL 运行您的控制器,如下图所示。图片中提到了所有其他细节。

http://localhost:8080/myfirst-mvc-project/student.com/hello