Friday, 10 August 2018

How to create a concrete Map collection class (HashMap and TreeMap) using mapFactoryBean in Spring

Click here to watch on Youtube:

Click the below Image to Enlarge:

How to create a concrete Map collection class (HashMap and TreeMap) using mapFactoryBean in Spring

How to create a concrete Map collection class (HashMap and TreeMap) using mapFactoryBean in Spring


<project xmlns="" xmlns:xsi=""



        <!-- Spring 5 dependencies -->


package com.ram.core;

import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class FruitShop
    private String shopName;
    private Map<Integer, String> mapOfAvailableFruits;

    public String getShopName()
        return shopName;

    public void setShopName(String shopName)
        this.shopName = shopName;

    public Map<Integer, String> getMapOfAvailableFruits()
        return mapOfAvailableFruits;

    public void setMapOfAvailableFruits(
            Map<Integer, String> mapOfAvailableFruits)
        this.mapOfAvailableFruits = mapOfAvailableFruits;

    public void displayFruitShopInfo()
        System.out.println("FruitShop [shopName=" + shopName
                + ", mapOfAvailableFruits=" + mapOfAvailableFruits + "]");

        System.out.println("Fruit ShopName = " + shopName);
        Set<Entry<Integer, String>> set = mapOfAvailableFruits.entrySet();
        Iterator<Entry<Integer, String>> itr = set.iterator();
        while (itr.hasNext())
            Entry<Integer, String> entry =;
            System.out.println("Fruit Id = " + entry.getKey()
                    + ", Fruit Name = " + entry.getValue());



<beans xmlns=""

    <bean id="fruitShop" class="com.ram.core.FruitShop">

        <property name="shopName" value="Fruit Mart"></property>

        <property name="mapOfAvailableFruits">
            <bean class="org.springframework.beans.factory.config.MapFactoryBean">

                <property name="targetMapClass">

                <property name="sourceMap">
                        <entry key="1" value="Apple"></entry>
                        <entry key="2" value="Grapes"></entry>


package com.ram.core;

import org.springframework.context.ApplicationContext;

public class App
    public static void main(String[] args)
        ApplicationContext context = new ClassPathXmlApplicationContext(


        FruitShop fruitShop = (FruitShop) context.getBean("fruitShop");
                "Got fruitShop object from the ApplicationContext(Spring Container)");



Jul 31, 2018 9:22:25 AM prepareRefresh
INFO: Refreshing startup date [Tue Jul 31 09:22:25 IST 2018]; root of context hierarchy
Jul 31, 2018 9:22:25 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Got fruitShop object from the ApplicationContext(Spring Container)
FruitShop [shopName=Fruit Mart, mapOfAvailableFruits={1=Apple, 2=Grapes}]
Fruit ShopName = Fruit Mart
Fruit Id = 1, Fruit Name = Apple
Fruit Id = 2, Fruit Name = Grapes

Click the below link to download the code:

Github Link:

Bitbucket Link:

See also:

  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial
  • No comments:

    Post a comment