5

カスタム RequestMappingHandlerMapping が必要なので、Spring 3.0.5 から 3.1 に移行します。拡張 RequestMappingHandlerMapping のプラグインで問題に直面しています。既存の servlet-conetxt.xml があり、@Configuration アノテーションを使用して WebConfig を追加しました。しかし、常にあいまいなマッピング エラーが発生します (ExtendedRequestMappingHandlerMapping で定義された新しい注釈が有効ではないため)。

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

2 に答える 2

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 を参照してください。

于 2012-05-01T05:21:14.023 に答える
0

使用する場合

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

}

@service を Interceptor に設定することはできません

于 2013-07-11T02:22:19.787 に答える