Categorías
Framework Concepts spring

Tutorial de Spring MVC – Inyección de dependencia de Setter

Página de índice de tutoriales de primavera
Anterior: Hola mundo
Siguiente: Manejo de envío de formularios

En el tutorial anterior, hemos visto cómo crear una aplicación simple de Hello World Spring usando Maven en Eclipse. En la aplicación Hello World, usamos anotación. En este tutorial, mostraré cómo usar la configuración xml y la inyección de dependencia del setter. En lugar de mostrar un mensaje en la vista final, esta vez muestra una lista de empleados.

Paso 1: Crear clases de Bean y Manager

Employee.java

package com.programcreek.helloworld.model;
 
public class Employee {
	private String id;
	private String lastName;
	private String firstName;
 
	public Employee(String id, String lastName, String firstName) {
		this.id = id;
		this.lastName = lastName;
		this.firstName = firstName;
	}
 
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
}

EmployeeManager.java

package com.programcreek.helloworld.service;
 
import java.util.ArrayList;
import java.util.List;
import com.programcreek.helloworld.model.Employee;
 
public class EmployeeManager {
	private static List<Employee> employeeList;
 
	public EmployeeManager(){
		 employeeList = new ArrayList<Employee>();
		 employeeList.add(new Employee("1", "Mike", "Smith"));
		 employeeList.add(new Employee("2", "John", "Taylor"));
		 employeeList.add(new Employee("3", "Dave", "Wilson"));	 
	}
 
	public List<Employee> getEmployeeList(){
		return employeeList;
	}
}
  integración mybatis-spring y proyecto sencillo

Paso 2: crear controlador

EmployeeController.java

package com.programcreek.helloworld.controller;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.programcreek.helloworld.service.EmployeeManager;
 
public class EmployeeController implements Controller {
	private EmployeeManager employeeManager;
 
	public EmployeeManager getEmployeeManager() {
		return employeeManager;
	}
 
	public void setEmployeeManager(EmployeeManager employeeManager) {
		this.employeeManager = employeeManager;
	}
 
	public ModelAndView handleRequest(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {
		System.out.println("in EmployeeController");
		ModelAndView mv = new ModelAndView("employeeList");
		mv.addObject("employeeList", this.employeeManager.getEmployeeList());
		return mv;
	}
}

Paso 3: crear vista

Cree otro archivo de vista: employeeList.jsp en el directorio de vistas.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Spring 4 MVC - Employee List</title>
</head>
<body>
	<center>
 
		<c:forEach items="${employeeList}" var="employee">
			${employee.id}: ${employee.lastName}, ${employee.firstName}<br>
		</c:forEach>
 
	</center>
</body>
</html>

Hola mundo

Lista de empleados

Paso 4: configurar el archivo XML

Ahora necesitamos configurar el archivo dispatcher-servlet.xml. Después de cambiar, debería tener el siguiente aspecto:

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
 
	<context:component-scan base-package="com.programcreek.helloworld.controller" />
 
	<bean id="employeeManager" class="com.programcreek.helloworld.service.EmployeeManager" />
 
	<bean name="/employee" class="com.programcreek.helloworld.controller.EmployeeController">
		<property name="employeeManager" ref="employeeManager"/>
	</bean>
 
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/views/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
</beans>

Resultado final

La vista final del navegador tiene el siguiente aspecto:

Ejecutando el proyecto, obtendremos las vistas.

Página de inicio
Inyección de dependencia de setter

Página de lista de empleados
setter-dependencia-inyección-archivo-xml

  ¿Biblioteca frente a marco?

Enlace de descarga del código fuente.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *