La inyección de dependencia es la funcionalidad principal proporcionada por Spring IOC (Inversion of Control). El módulo Spring-Core es responsable de inyectar dependencias a través de los métodos Constructor o Setter. En Setter Dependency Injection (SDI), la dependencia se inyectará con la ayuda de los métodos setters y getters. Se utiliza un archivo de configuración de bean para establecer DI como SDI en el bean. Para ello, la propiedad que se establecerá con SDI se declara bajo la etiqueta <property> en el archivo bean-config.
Una colección en Java es un grupo de objetos individuales. Spring framework nos proporciona la facilidad de inyección de Setter utilizando las siguientes colecciones:
- Lista
- Mapa
- Establecer
Implementación:
A. Empresa.java
Una empresa tiene una lista de empleados.
Java
// Java program to Illustrate Company Class package com.geeksforgeeks.org; // Importing required classes import java.util.*; // Company Class class Company { // Class data members private String companyName; private List<String> employees; // Setter public void setCompanyName(String companyName) { this.companyName = companyName; } // Setter public void setEmployees(List<String> employees) { this.employees = employees; } // Getter public String getCompanyName() { return companyName; } // Getter public List<String> getEmployees() { return employees; } // Method public void display() { System.out.println("Company: " + companyName); System.out.println("Employee list: " + companyName); // Iterating over using for each loop for (String employee : employees) { System.out.println("-" + employee); } } }
B. applicationContext.xml
Usaremos el elemento de propiedad para la inyección de setter. El elemento de nombre del atributo de propiedad será igual al nombre de la variable y el elemento de valor contendrá el valor que desea asignar a esa variable.
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:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http:www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="company" class="com.geeksforgeeks.org.Company"> <property name="companyName" value="GeeksForGeeks"></property> <property name="employees"> <list> <value>"John"</value> <value>"Max"</value> <value>"Sam"</value> </list> </property> </bean> </beans>
C. Principal.java
Java
// Java Program to Illustrate Application Class package com.geeksforgeeks.org; // Importing required classes import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; // Application (Main) Class public class Main { // Main driver method public static void main(String[] args) { // Creating a new class path resource Resource resource = new ClassPathResource( "applicationContext.xml"); // Creating an object of BeanFactory class BeanFactory factory = new XmlBeanFactory(resource); // Creating an object of Employee class Employee e = (Employee)factory.getBean("employee"); // Calling display() method inside main() method e.display(); } }
Producción:
Company: GeeksForGeeks Employee list: -John -Max -Sam
Publicación traducida automáticamente
Artículo escrito por abhinavjain194 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA