概述
SecurityRequestMatcherProviderAutoConfiguration的作用是自动配置一个RequestMatcherProvider,提供一个RequestMatcher
SecurityRequestMatcherProviderAutoConfiguration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
   | @Configuration @ConditionalOnClass({ RequestMatcher.class }) @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) public class SecurityRequestMatcherProviderAutoConfiguration {
  	@Configuration 	@ConditionalOnClass(DispatcherServlet.class) 	@ConditionalOnBean(HandlerMappingIntrospector.class) 	public static class MvcRequestMatcherConfiguration {
  		@Bean 		@ConditionalOnClass(DispatcherServlet.class) 		public RequestMatcherProvider requestMatcherProvider(HandlerMappingIntrospector introspector) { 			return new MvcRequestMatcherProvider(introspector); 		}
  	}
  	@Configuration 	@ConditionalOnClass(ResourceConfig.class) 	@ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet") 	@ConditionalOnBean(JerseyApplicationPath.class) 	public static class JerseyRequestMatcherConfiguration {
  		@Bean 		public RequestMatcherProvider requestMatcherProvider(JerseyApplicationPath applicationPath) { 			return new JerseyRequestMatcherProvider(applicationPath); 		}
  	}
  }
   | 
 
- 将MvcRequestMatcherProvider注册到spring容器中
 
- 如果当前项目是基于jersey框架的则将JerseyRequestMatcherProvider注册到spring容器中
 
总结
SecurityRequestMatcherProviderAutoConfiguration的作用很简单就是将一个RequestMatcherProvider实例注册到spring容器中,这个RequestMatcherProvider会提供一个RequestMatcher,与spring-security一同工作