/ / एकाधिक स्प्रिंग WebMvcConfigurerAdapter के साथ मैं कॉन्फ़िगरेशन कक्षाओं के आदेश को कैसे नियंत्रित कर सकता हूं? - वसंत-एमवीसी, इंटरसेप्टर

एकाधिक स्प्रिंग WebMvcConfigurerAdapter के साथ मैं विंयास वर्गों के आदेश कैसे नियंत्रित कर सकते हैं?-वसंत-mvc, इंटरसेप्टर

2 कॉन्फ़िगरेशन के साथ, विभिन्न जार फ़ाइलों में मैं इंटरसेप्टर पंजीकरण के आदेश को नियंत्रित करना चाहूंगा। एक इंटरसेप्टर संभावित रूप से दूसरे द्वारा निर्धारित डेटा पर निर्भर करता है।

मैंने 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);
}
}

तथा

@Configuration
public class ExecutionPipelineConfig extends WebMvcConfigurerAdapter {
@Autowired
@Qualifier("ExecutionContext")
HandlerInterceptor executionContextInterceptor;

public ExecutionPipelineConfig() {
}

@Order(1)
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(this.executionContextInterceptor);
}
}

उत्तर:

उत्तर № 1 के लिए 4

वसंत रूपरेखा प्रलेखन [ http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ ] निर्दिष्ट करता है @Order के लिये उपयोग किया जाता है :

  • एक संग्रह में उदाहरणों का आदेश देना
  • आर्डर निष्पादनकर्ता
  • @Configuration तत्वों (वसंत रूपरेखा 4.2+)

The @Order एनोटेशन अपने मामले में अपने विंयास के लिए वर्ग स्तर पर लागू किया जा सकता है यदि आपका स्प्रिंग संस्करण > ४.२ ।

उदाहरण के लिए:

@Configuration
@Order(2)
public class PipelineConfig extends WebMvcConfigurerAdapter {

इसके अलावा यह coudld @Configuration फ़ाइलों को एकत्र करने के लिए @Import एनोटेशन के लिए एक usecase हो (http://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch04s03.html)

यदि, दूसरी ओर, अपने अवरोधक के एक संभावित डेटा पर निर्भर करते है या सेम आप उपयोग कर सकते है @DependsOn("beanName") एनोटेशन।