Exemple Spring MapFactoryBean

Exemple Spring MapFactoryBean

La classe ‘MapFactoryBean’ offre aux développeurs un moyen de créer une classe de collection de cartes concrète (HashMap et TreeMap) dans le fichier de configuration du bean Spring.

Voici un exemple MapFactoryBean, il instanciera un HashMap lors de l'exécution, et l'injectera dans une propriété de bean.

package com.example.common;

import java.util.Map;

public class Customer
{
    private Map maps;
    //...
}

Fichier de configuration du bean Spring.



    
        
            
                
                    java.util.HashMap
                
                
                    
                        
                        
                        
                    
                
            
        
    

Alternativement, vous pouvez également utiliser le schéma util et pour obtenir la même chose.



    
        
            
                
                
                
            
        
    

N'oubliez pas d'inclure le schéma util, sinon vous rencontrerez l'erreur suivante

Caused by: org.xml.sax.SAXParseException:
    The prefix "util" for element "util:map" is not bound.

Exécuter…

package com.example.common;

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

public class App
{
    public static void main( String[] args )
    {
        ApplicationContext context = new ClassPathXmlApplicationContext("SpringBeans.xml");

        Customer cust = (Customer)context.getBean("CustomerBean");
        System.out.println(cust);

    }
}

Ouput

Customer [maps={Key2=2, Key1=1, Key3=3}] Type=[class java.util.HashMap]

Vous avez instancié un HashMap et l'injectez dans la propriété de la carte du client lors de l'exécution.

Télécharger le code source

Téléchargez-le -Spring-MapFactoryBean-Example.zip (5 Ko)