Spring Auto Proxy Ersteller Beispiel

Beispiel für den Spring Auto Proxy-Ersteller

In den AOP-Beispielen des letzten Frühlings -advice,pointcut and advisor - müssen Sie manuell eine Proxy-Bean (ProxyFactoryBean) für jede Beans erstellen, die AOP-Unterstützung benötigen.

Dies ist beispielsweise keine effiziente Methode, wenn Sie möchten, dass alle DAO-Klassen im Kundenmodul die AOP-Funktion mit SQL-Protokollierungsunterstützung (advise) implementieren, müssen Sie daher viele Proxy-Factory-Beans manuell erstellen Überfluten Sie Ihre Bean-Konfigurationsdatei mit Tonnen von Proxy-Beans.

Glücklicherweise enthält Spring zwei Auto-Proxy-Ersteller, mit denen Sie automatisch Proxys für Ihre Beans erstellen können.

1. BeanNameAutoProxyCreator Beispiel

Davor müssen Sie manuell eine Proxy-Bean (ProxyFactoryBean) erstellen.



    
        
        
    

    

    

        

        
            
                customerAdvisor
            
        
    

    
        
        
    

Und holen Sie sich die Bean mit der Bean mit dem Proxy-Namen "customerServiceProxy".

    CustomerService cust = (CustomerService)appContext.getBean("customerServiceProxy");

Beim automatischen Proxy-Mechanismus müssen Sie nur einBeanNameAutoProxyCreator erstellen und alle Ihre Beans (über den Bean-Namen oder den Namen des regulären Ausdrucks) und den "Advisor" in einer Einheit zusammenfassen.



    
        
        
    

    

    
        
        
    

    
        
            
                *Service
            
        
        
            
                customerAdvisor
            
        
    

Jetzt können Sie die Bean über den ursprünglichen Namen "customerService" beziehen. Sie wissen nicht einmal, dass es sich bei dieser Bean um Proxys handelt.

    CustomerService cust = (CustomerService)appContext.getBean("customerService");

2. Beispiel für DefaultAdvisorAutoProxyCreator

DiesesDefaultAdvisorAutoProxyCreator ist extrem leistungsfähig. Wenn eine der Beans von einem Berater abgeglichen wird, erstellt Spring automatisch einen Proxy dafür.



    
        
        
    

    

    
        
        
    

       

Da Sie keine Kontrolle darüber haben, welche Bean als Proxy fungieren soll, können Sie nur darauf vertrauen, dass Spring das Beste für Sie tut. Bitte seien Sie vorsichtig, wenn Sie dies in Ihr Projekt implementieren möchten.

Quellcode herunterladen

Laden Sie es herunter -Spring-Auto-Proxy-Creator-Example.zip