Int*_*ted 5 spring-mvc interceptor
有2个配置,在不同的jar文件中我想控制拦截器注册的顺序.一个拦截器可能依赖于另一个拦截器的数据集.
我在addInterceptors方法上尝试了@Order.
@Configuration
public class PipelineConfig extends WebMvcConfigurerAdapter {
@Autowired
@Qualifier("Audit")
HandlerInterceptor auditInterceptor;
public PipelineConfig() {
}
@Order(2)
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(this.auditInterceptor);
}
}
Run Code Online (Sandbox Code Playgroud)
和
@Configuration
public class ExecutionPipelineConfig extends WebMvcConfigurerAdapter {
@Autowired
@Qualifier("ExecutionContext")
HandlerInterceptor executionContextInterceptor;
public ExecutionPipelineConfig() {
}
@Order(1)
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(this.executionContextInterceptor);
}
}
Run Code Online (Sandbox Code Playgroud)
Spring框架文档[ http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ ]指定@Order用于:
@Order如果您的春季版本> 4.2,则可以在您的案例中为您的配置应用该注释。
例如:
@Configuration
@Order(2)
public class PipelineConfig extends WebMvcConfigurerAdapter {
Run Code Online (Sandbox Code Playgroud)
同样,此代码也可以用作@Import批注的用例,以聚合@Configuration文件(http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch04s03.html)
另一方面,如果您的拦截器之一可能依赖于数据/ bean,则可以使用@DependsOn("beanName")注释。
| 归档时间: |
|
| 查看次数: |
4155 次 |
| 最近记录: |