2016-10-30 16 views
0
@Configuration 
public class WebAppConfig extends WebMvcConfigurerAdapter { 

    @Bean 
    AuthorizeInterceptor authorizelInterceptor() { 
     return new AuthorizeInterceptor(); 
    } 

    @Override 
    public void addInterceptors(InterceptorRegistry registry) { 
     registry.addInterceptor(authorizelInterceptor()).addPathPatterns("/user/**"); 
     super.addInterceptors(registry); 
    } 
} 

Ich denke @Bean die new AuthorizeInterceptor(); in IOC setzen wird und in Verfahren addInterceptors() Aufruf authorizelInterceptor() wird die Bohne in IOC registriert bekommen. Wenn Proxy verwenden, wird die Methode authorizelInterceptor() in addInterceptors() aufgerufen Proxy nicht ausführen.wie wie Spring implementieren @bean

+1

was das Problem? Jede Ausnahme? – developer

+0

ich will konw wie funktioniert Frühling implementieren die Annotation '@ Bean' – twogoods

+0

Das ist eine sehr komplizierte Antwort. – chrylis

Antwort

1

@Bean ist ein Verfahren, die die Ebene Annotation bean Konfiguration an den Federbehälter und der Behälter benutzt sie einfach liefert die jeweilige Abhängigkeit zu injizieren. Kurz gesagt, es ist nur eine Alternative zum Definieren der Bean mit xml <bean/> Tags.

Ich benutze @Bean im Allgemeinen, während der einfachen Unit-Tests schreiben, die Bean-Definitionen in der gleichen Klasse Test-Datei zur Verfügung zu stellen (anstatt eine separate XML für Bean-Konfigurationen definiert wird).

empfehle ich Ihnen, um weitere Informationen über den untenstehenden Link zu gehen:

http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch02s02.html