Composants du filtre à ressort en balayage automatique

Composants du filtre à ressort en balayage automatique

Dans ceSpring auto component scanning tutorial, vous découvrez comment faire en sorte que Spring analyse automatiquement vos composants. Dans cet article, nous vous montrons comment effectuer le filtrage des composants dans le processus d'analyse automatique.

1. Composant de filtre - inclure

Voir l'exemple suivant pour utiliser Spring «filtering» pour analyser et enregistrer le nom des composants correspondant à «regex» défini, même la classe n'est pas annotée avec @Component.

Couche DAO

package com.example.customer.dao;

public class CustomerDAO
{
    @Override
    public String toString() {
        return "Hello , This is CustomerDAO";
    }
}

Couche de service

package com.example.customer.services;

import org.springframework.beans.factory.annotation.Autowired;
import com.example.customer.dao.CustomerDAO;

public class CustomerService
{
    @Autowired
    CustomerDAO customerDAO;

    @Override
    public String toString() {
        return "CustomerService [customerDAO=" + customerDAO + "]";
    }

}

Filtrage à ressort.



    

        

        

    

Exécuter

package com.example.common;

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

import com.example.customer.services.CustomerService;

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

        CustomerService cust = (CustomerService)context.getBean("customerService");
        System.out.println(cust);

    }
}

Sortie

CustomerService [customerDAO=Hello , This is CustomerDAO]

Dans ce filtrage XML, le nom de tous les fichiers contient DAO ou Service (le motDAO.,Services.) sera détecté et enregistré dans le conteneur Spring.

2. Composant de filtre - exclure

D'autre part, vous pouvez également exclure les composants spécifiés, pour éviter que Spring ne le détecte et l'enregistre dans le conteneur Spring.

Excluez ces fichiers annotés avec @Service.

    
        
    

Exclure ces fichiers Le nom contient le mot DAO.

    
        
    

Télécharger le code source