Spring Annotations nos permite configurar dependencias e implementar la inyección de dependencias a través de programas java. Se utilizan para proporcionar información complementaria sobre un programa. No tiene un efecto directo sobre el funcionamiento del código que anotan. No cambia la acción del programa compilado. La anotación @ResponseBody le dice a un controlador que el objeto devuelto se serializa automáticamente en JSON y se vuelve a pasar al objeto HttpResponse. Cuando usa la anotación @ResponseBody en un método, Spring convierte el valor devuelto y lo escribe en la respuesta HTTP automáticamente. Cada método en la clase Controller debe anotarse con @ResponseBody.
Entonces, comprendamos la anotación @ResponseBody con un ejemplo.
Implementación:
Requisitos:
- Eclipse (versión EE) / STS IDE
- Archivos JAR de primavera
- Tomcat Apache última versión
Configuración del proyecto
Nota : Vamos a utilizar Spring Tool Suite 4 IDE para este proyecto. Consulte este artículo para instalar STS en su máquina local ¿Cómo descargar e instalar Spring Tool Suite (Spring Tools 4 para Eclipse) IDE?
Paso 1: cree un proyecto web dinámico en su STS IDE. Puede consultar este artículo para crear un proyecto web dinámico en STS: ¿ Cómo crear un proyecto web dinámico en Spring Tool Suite?
Paso 2: descargue el archivo Spring JAR y vaya a la carpeta src> main> webapp> WEB-INF> lib y pase estos archivos JAR.
Paso 3: Configure el servidor tomcat con su aplicación. Ahora estamos listos para ir.
se recomienda consultar el artículo: Configuración del Servidor Apache Tomcat
Configuración del servlet de despachador
Sugerencia: Consulte este artículo ¿Qué es Dispatcher Servlet en Spring? y lea más sobre Dispatcher Servlet, que es un concepto muy importante de entender. Ahora vamos a configurar Dispatcher Servlet con nuestra aplicación Spring MVC.
Paso 4: vaya al archivo src> main> webapp> WEB-INF> web.xml y el código completo para el archivo web.xml se proporciona a continuación:
XML
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <display-name>myfirst-mvc-project</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.jsp</welcome-file> <welcome-file>default.htm</welcome-file> </welcome-file-list> <absolute-ordering/> <servlet> <!-- Provide a Servlet Name --> <servlet-name>frontcontroller-dispatcher</servlet-name> <!-- Provide a fully qualified path to the DispatcherServlet class --> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <!-- Provide a Servlet Name that you want to map --> <servlet-name>frontcontroller-dispatcher</servlet-name> <!-- Provide a url pattern --> <url-pattern>/student.com/*</url-pattern> </servlet-mapping> </web-app>
Paso 5: Ahora ve a src > main > webapp > WEB-INF y crea un archivo XML. En realidad, este es un archivo de configuración de Spring como el archivo beans.xml. Y el nombre del archivo debe estar en este formato:
YourServletName-servlet.xml
Por ejemplo, para este proyecto, el nombre del archivo debe ser
frontcontroller-dispatcher-servlet.xml
Entonces, puede crear un archivo de configuración de Spring o simplemente puede crear un archivo XML simple y agregar las siguientes líneas de código dentro de ese archivo.
Archivo: frontcontroller-despachador-servlet.xml
XML
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="com.student.controllers"></context:component-scan> </beans>
Crear clase de controlador
Paso 6: Ahora, creemos algunos controladores. Vaya a src/main/java y cree un nuevo paquete de controladores (por ejemplo, com.student.controllers) según su elección. Y dentro de eso, cree una clase Java y nombre la clase como DemoController. Ahora, cómo decirle a Spring que esta es nuestra clase de controlador. Entonces, la forma en que vamos a decirle a Spring es marcándolo con una anotación @Controller .
@Controller public class DemoController { }
Nota: Spring inicializará automáticamente la clase que tenga una anotación @Controller y registrará esa clase con el contenedor Spring.
Ahora, creemos un método simple dentro de la clase Controller y usemos la anotación @ResponseBody antes del método, algo como esto.
// Annotation @ResponseBody @RequestMapping("/hello") // Method public String helloWorld() { return "Hello World!"; }
Ahora entendamos la anotación. Así que básicamente @RequestMapping(“/hello”), esta línea significa, en la URL, si alguien accede a student.com/hello, este método en particular se ejecutará y realizará la operación que está escrita dentro de ese método en particular. Por ejemplo, para este proyecto, solo devolvemos un mensaje «¡Hola mundo!» y esperamos que esto se muestre en el navegador del cliente. Pero esto no sucederá. Y para que esto suceda, necesitamos usar la anotación @ResponseBody . Entonces, la anotación @ResponseBody básicamente va a escribir este mensaje en particular, aquí «¡Hola mundo!», en su respuesta HTTP.
Archivo: DemoController.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 helloWorld() { return "Hello World!"; } }
Ejecución del controlador Spring MVC
Paso 7: para ejecutar su aplicación Spring MVC , haga clic con el botón derecho en su proyecto> Ejecutar como> Ejecutar en el servidor y ejecute su aplicación. Después de eso, use la siguiente URL para ejecutar su controlador como se muestra en la imagen a continuación. Todos los demás detalles se mencionan en la imagen.
http://localhost:8080/myfirst-mvc-project/student.com/hello
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA