Dependency Injection using Collections in Spring
Dependency injection in spring can also be used with collections like List, Set and Map. Here is an example for Dependency Injection using List

 


Directory Structure
structure

employee.java

package com.javainfinite;

public class employee {
    
    private String ename;
    private int id;

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
 
}

employeedependent.java

package com.javainfinite;

import java.util.List;

public class employeedependent {
    
    List<employee> employee1;

    public List<employee> getEmployee1() {
        return employee1;
    }

    public void setEmployee1(List<employee> employee1) {
        this.employee1 = employee1;
    }

    
    public void display()
    {
        for(employee e:employee1)
        
        System.out.println("Employee Name: "+e.getEname()+" ID: "+e.getId());
    }
}

operational.java

package com.javainfinite;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class operational {
    
    public static void main(String args[])
    {
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
        employeedependent emp=(employeedependent) ac.getBean("employeedependent");
        emp.display();
    }
    
}

applicationContext.xml

<?xml version='1.0' encoding='UTF-8' ?>
<!-- was: <?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"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">


<bean id="employeedependent" class="com.javainfinite.employeedependent">
    <property name="employee1">
        <list>
            <ref bean="employee1"/>
            <ref bean="employee2"/>
        </list>
    </property>
   
</bean>

<bean id="employee1" class="com.javainfinite.employee">
            <property name="ename" value="Alpha"/>
            <property name="id" value="001"/>
</bean>

<bean id="employee2" class="com.javainfinite.employee">
    <property name="ename" value="Beta"/>
    <property name="id" value="002"/>
</bean>


</beans>

Output
op1

 

 

 

 

By Sri

Leave a Reply

Your email address will not be published. Required fields are marked *