2012-04-30 11 views
5

カスタムRequestMappingHandlerMappingが必要なので、Spring 3.0.5から3.1への移行です。拡張されたRequestMappingHandlerMappingのプラグインに問題があります。既存のservlet-conetxt.xmlがあり、@Configurationアノテーションを付けてWebConfigを追加しました。しかし、私はいつもエラーのambiguosマッピングを取得しています(ExtendedRequestMappingHandlerMappingで定義された新しい注釈は効果がありません)。Spring 3.1では<mvc:interceptors>を@Configurationと組み合わせて使用​​できます

私は、XML構成で保存したいservlet-context.xmlにさまざまなレベルのインターセプタを定義しています。私は使いたい。

servlet-context.xmlの接続を使用する方法と、同時にRequestMappingHandlerMappingを拡張する方法がありますか。 @COnfigurationを使用してこれを行う必要がある場合は、@ COnfigurationとservlet-context.xmlの両方を使用できますか?私が長い間これを試してきたので、どんな助けもありがたいです。

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

答えて

7

はい、あなたはそれを使用することができます: 例:

@EnableWebMvc 
@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 

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

} 

はちょうどより多くの詳細については

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html#mvc-config-interceptors を参照してください。

+1

おかげでダニーに設定することはできません

@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/*"); } } 

を使用している場合。これを動作させるために@ImportResourceを使用することができました。 –

0

@serviceはインターセプタ

関連する問題