Spring Filter-Komponenten beim automatischen Scannen

Spring Filter-Komponenten beim automatischen Scannen

In diesemSpring auto component scanning tutorial erfahren Sie, wie Spring Ihre Komponenten automatisch scannt. In diesem Artikel zeigen wir Ihnen, wie Sie Komponentenfilter beim automatischen Scannen anwenden.

1. Filterkomponente - einschließen

Im folgenden Beispiel wird Spring "filtering" zum Scannen und Registrieren des Komponentennamens verwendet, der mit dem definierten "regulären Ausdruck" übereinstimmt, auch wenn die Klasse nicht mit @Component versehen ist.

DAO-Schicht

package com.example.customer.dao;

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

Service-Schicht

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 + "]";
    }

}

Frühlingsfilterung.



    

        

        

    

Starte es

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);

    }
}

Ausgabe

CustomerService [customerDAO=Hello , This is CustomerDAO]

Bei dieser XML-Filterung enthält der Name aller Dateien DAO- oder Service-Wörter (DAO.,Services.), die im Spring-Container erkannt und registriert werden.

2. Filterkomponente - ausschließen

Andererseits können Sie auch bestimmte Komponenten ausschließen, damit Spring diese nicht erkennt und im Spring-Container registriert.

Schließen Sie die mit @Service gekennzeichneten Dateien aus.

    
        
    

Ausschließen, dass der Dateiname DAO-Wort enthält.

    
        
    

Quellcode herunterladen

Laden Sie es herunter -Spring-Filter-Auto-Scan-Example.zip