2012-04-30 19 views
5

Sono migrato dalla Spring 3.0.5 alla 3.1 poiché ho bisogno di avere Custom RequestMappingHandlerMapping. Sto affrontando problemi nel plug-in di RequestMappingHandlerMapping esteso - Ho avuto servlet-conetxt.xml e ho aggiunto WebConfig con l'annotazione @Configuration. Tuttavia, ottengo sempre il mapping degli errori ambigui (poiché la nuova annotazione definita in ExtendedRequestMappingHandlerMapping non è in effetti valida).Nella primavera 3.1 è possibile utilizzare <mvc: interceptors> in combinazione con @Configuration

Ho vari livelli di intercettatori definiti in servlet-context.xml che voglio mantenere nella configurazione XML. Voglio usare.

C'è un modo per utilizzare la congiunzione di servlet-context.xml e allo stesso tempo estendere RequestMappingHandlerMapping. Se questo deve essere fatto usando @COnfiguration - posso usare sia @ COnfiguration che servlet-context.xml? Qualsiasi aiuto sarebbe apprezzato visto che lo sto provando da molto tempo.

<context-param> 
    <param-name>contextClass</param-name> 
    <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> 
</context-param> 

<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>com.test.config</param-value> 
</context-param> 

risposta

7

Sì, si può utilizzare: Esempio:

@EnableWebMvc 
@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 

    @Override 
    public void addInterceptors(InterceptorRegistry registry) { 
    registry.addInterceptor(new LocalInterceptor()); 
    registry.addInterceptor(new SecurityInterceptor()).addPathPatterns("/secure/*"); 
} 

} 

solo si riferiscono a

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-config-interceptors per maggiori dettagli.

+1

Grazie Danny. Sono stato in grado di utilizzare @ImportResource per farlo funzionare. –

0

se utilizzare

@EnableWebMvc 
@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 
    @Autowired 
    Anything anything; 

    @Override 
    public void addInterceptors(InterceptorRegistry registry) { 
    log.info(anything.toString());//this will exception,how to fix? 
    registry.addInterceptor(new LocalInterceptor()); 
    registry.addInterceptor(new SecurityInterceptor()).addPathPatterns("/secure/*"); 
} 

} 

il @service non può essere impostazione per Interceptor

Problemi correlati