@Bean
 @ConditionalOnMissingBean
 public FilterRegistrationBean requestContextFilter() {
   FilterRegistrationBean registration = new FilterRegistrationBean();
   registration.setFilter(new RequestContextFilter());
   registration.setOrder(this.jersey.getFilter().getOrder() - 1);
   registration.setName("requestContextFilter");
   return registration;
 }
 @Bean
 @ConditionalOnBean(name = AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME)
 public FilterRegistrationBean securityFilterChainRegistration(
     @Qualifier(AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME)
         Filter securityFilter,
     SecurityProperties securityProperties) {
   FilterRegistrationBean registration = new FilterRegistrationBean(securityFilter);
   registration.setOrder(securityProperties.getFilterOrder());
   registration.setName(AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME);
   return registration;
 }
 @Bean
 @ConditionalOnMissingBean(name = "jerseyFilterRegistration")
 @ConditionalOnProperty(prefix = "spring.jersey", name = "type", havingValue = "filter")
 public FilterRegistrationBean jerseyFilterRegistration() {
   FilterRegistrationBean registration = new FilterRegistrationBean();
   registration.setFilter(new ServletContainer(this.config));
   registration.setUrlPatterns(Arrays.asList(this.path));
   registration.setOrder(this.jersey.getFilter().getOrder());
   registration.addInitParameter(ServletProperties.FILTER_CONTEXT_PATH, stripPattern(this.path));
   addInitParameters(registration);
   registration.setName("jerseyFilter");
   registration.setDispatcherTypes(EnumSet.allOf(DispatcherType.class));
   return registration;
 }