Exemple Spring SetFactoryBean

Exemple Spring SetFactoryBean

La classe ‘SetFactoryBean’ fournit au développeur un moyen de créer une collection Set concrète (HashSet et TreeSet) dans le fichier de configuration du bean Spring.

Voici un exemple ListFactoryBean, il instanciera un HashSet à l'exécution et l'injectera dans une propriété de bean

package com.example.common;

import java.util.Set;

public class Customer
{
    private Set sets;
    //...
}

Fichier de configuration du bean Spring.



    
        
            
                
                    java.util.HashSet
                
                
                    
                        1
                        2
                        3
                    
                
            
        
    

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



    
        
            
                1
                2
                3
            
        
    

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:set" 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 [sets=[3, 2, 1]] Type=[class java.util.HashSet]

Vous avez instancié HashSet et l'avez injecté dans la propriété sets du client lors de l'exécution.

Télécharger le code source

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