org.springframework.web.servlet.handler.HandlerMappingIntrospector Java Examples
The following examples show how to use
org.springframework.web.servlet.handler.HandlerMappingIntrospector.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: MvcNamespaceUtils.java From spring-analysis-note with MIT License | 5 votes |
/** * Registers an {@link HandlerMappingIntrospector} under a well-known name * unless already registered. */ private static void registerHandlerMappingIntrospector(ParserContext parserContext, @Nullable Object source) { if (!parserContext.getRegistry().containsBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)) { RootBeanDefinition beanDef = new RootBeanDefinition(HandlerMappingIntrospector.class); beanDef.setSource(source); beanDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); beanDef.setLazyInit(true); parserContext.getRegistry().registerBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, beanDef); parserContext.registerComponent(new BeanComponentDefinition(beanDef, HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)); } }
Example #2
Source File: MvcNamespaceUtils.java From java-technology-stack with MIT License | 5 votes |
/** * Registers an {@link HandlerMappingIntrospector} under a well-known name * unless already registered. */ private static void registerHandlerMappingIntrospector(ParserContext parserContext, @Nullable Object source) { if (!parserContext.getRegistry().containsBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)){ RootBeanDefinition beanDef = new RootBeanDefinition(HandlerMappingIntrospector.class); beanDef.setSource(source); beanDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); beanDef.setLazyInit(true); parserContext.getRegistry().registerBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, beanDef); parserContext.registerComponent(new BeanComponentDefinition(beanDef, HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)); } }
Example #3
Source File: ApplicationTests.java From JetfireCloud with Apache License 2.0 | 5 votes |
@Test public void testMatcher() { MvcRequestMatcher mvcRequestMatcher = new MvcRequestMatcher(new HandlerMappingIntrospector(), "/users/{id}"); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("GET", "/users/1"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("GET", "/users/aaa"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("GET", "/users"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("POST", "/users/1"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("PUT", "/users/1"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("DELETE", "/users/1"))); }
Example #4
Source File: ExpressionFilterInvocationSecurityMetadataSource.java From oauth2-resource with MIT License | 5 votes |
/** * 加载资源-权限关系 */ private void loadResource(HttpServletRequest request) { try { List<ResourceEntity> resourceEntityList = resourceEntityMapper.selectByExample(new ResourceEntityExample()); if (resourceEntityList == null || resourceEntityList.size() == 0) { log.warn("DB中没有查到资源权限列表,请先配置resource_entity!"); } else { resourceMap.clear(); Collection<ConfigAttribute> array; ConfigAttribute cfg; ServletContext sc = request.getServletContext(); ApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(sc); HandlerMappingIntrospector introspector = ac.getBean(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, HandlerMappingIntrospector.class); for (ResourceEntity resourceEntity : resourceEntityList) { array = new ArrayList<>(); cfg = new ExpressionConfigAttribute(expressionHandler.getExpressionParser().parseExpression(resourceEntity.getPermission())); array.add(cfg); resourceMap.put(new MvcRequestMatcher(introspector, resourceEntity.getUrl()), array); } } } catch (Exception e) { if (log.isErrorEnabled()) { log.error("加载权限列表异常", e); } } }
Example #5
Source File: MvcNamespaceUtils.java From lams with GNU General Public License v2.0 | 5 votes |
/** * Registers an {@link HandlerMappingIntrospector} under a well-known name * unless already registered. */ private static void registerHandlerMappingIntrospector(ParserContext parserContext, Object source) { if (!parserContext.getRegistry().containsBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)){ RootBeanDefinition beanDef = new RootBeanDefinition(HandlerMappingIntrospector.class); beanDef.setSource(source); beanDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); beanDef.setLazyInit(true); parserContext.getRegistry().registerBeanDefinition(HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME, beanDef); parserContext.registerComponent(new BeanComponentDefinition(beanDef, HANDLER_MAPPING_INTROSPECTOR_BEAN_NAME)); } }
Example #6
Source File: ApplicationTests.java From SpringCloud with Apache License 2.0 | 5 votes |
@Test public void testMatcher() { MvcRequestMatcher mvcRequestMatcher = new MvcRequestMatcher(new HandlerMappingIntrospector(), "/users/{id}"); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("GET", "/users/1"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("GET", "/users/aaa"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("GET", "/users"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("POST", "/users/1"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("PUT", "/users/1"))); System.out.println(mvcRequestMatcher.matches(new MockHttpServletRequest("DELETE", "/users/1"))); }
Example #7
Source File: WebMvcMetricsConfig.java From dhis2-core with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Bean public WebMvcMetricsFilter webMetricsFilter( MeterRegistry registry, WebMvcTagsProvider tagsProvider, HandlerMappingIntrospector handlerMappingIntrospector ) { return new WebMvcMetricsFilter( registry, tagsProvider, "http_server_requests", true, handlerMappingIntrospector ); }
Example #8
Source File: WebMvcConfigurationSupport.java From spring-analysis-note with MIT License | 4 votes |
@Bean @Lazy public HandlerMappingIntrospector mvcHandlerMappingIntrospector() { return new HandlerMappingIntrospector(); }
Example #9
Source File: WebMvcConfigurationSupport.java From java-technology-stack with MIT License | 4 votes |
@Bean @Lazy public HandlerMappingIntrospector mvcHandlerMappingIntrospector() { return new HandlerMappingIntrospector(); }
Example #10
Source File: ServletWebServerInitializer.java From spring-fu with Apache License 2.0 | 4 votes |
@Override public void initialize(GenericApplicationContext context) { context.registerBean("webServerFactoryCustomizerBeanPostProcessor", WebServerFactoryCustomizerBeanPostProcessor.class, WebServerFactoryCustomizerBeanPostProcessor::new); context.registerBean(WebMvcProperties.class, () -> this.webMvcProperties); context.registerBean(ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar.class, ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar::new); context.registerBean(TomcatServletWebServerFactory.class, () -> new ServletWebServerFactoryConfiguration.EmbeddedTomcat().tomcatServletWebServerFactory( context.getBeanProvider(TomcatConnectorCustomizer.class), context.getBeanProvider(TomcatContextCustomizer.class), context.getBeanProvider(ResolvableType.forClass(TomcatProtocolHandlerCustomizer.class)))); ServletWebServerFactoryAutoConfiguration servletWebServerFactoryConfiguration = new ServletWebServerFactoryAutoConfiguration(); context.registerBean(ServletWebServerFactoryCustomizer.class, () -> servletWebServerFactoryConfiguration.servletWebServerFactoryCustomizer(serverProperties)); context.registerBean(TomcatServletWebServerFactoryCustomizer.class, () -> servletWebServerFactoryConfiguration.tomcatServletWebServerFactoryCustomizer(serverProperties)); context.registerBean(FilterRegistrationBean.class, servletWebServerFactoryConfiguration::forwardedHeaderFilter); DispatcherServletAutoConfiguration.DispatcherServletConfiguration dispatcherServletConfiguration = new DispatcherServletAutoConfiguration.DispatcherServletConfiguration(); context.registerBean(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME, DispatcherServlet.class, () -> dispatcherServletConfiguration.dispatcherServlet(webMvcProperties)); context.registerBean(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME, DispatcherServletRegistrationBean.class, () -> new DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration().dispatcherServletRegistration(context.getBean(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME, DispatcherServlet.class), webMvcProperties, context.getBeanProvider(MultipartConfigElement.class))); WebMvcAutoConfiguration webMvcConfiguration = new WebMvcAutoConfiguration(); context.registerBean(OrderedHiddenHttpMethodFilter.class, webMvcConfiguration::hiddenHttpMethodFilter); Supplier<WebMvcAutoConfigurationAdapter> webMvcConfigurationAdapter = new Supplier<WebMvcAutoConfigurationAdapter>() { private WebMvcAutoConfigurationAdapter configuration; @Override public WebMvcAutoConfigurationAdapter get() { if (configuration == null) { configuration = new WebMvcAutoConfigurationAdapter(resourceProperties, webMvcProperties, context, context.getBeanProvider(HttpMessageConverters.class), context.getBeanProvider(ResourceHandlerRegistrationCustomizer.class), context.getBeanProvider(DispatcherServletPath.class)); return configuration; } return configuration; } }; context.registerBean(InternalResourceViewResolver.class, () -> webMvcConfigurationAdapter.get().defaultViewResolver()); context.registerBean(BeanNameViewResolver.class, () -> webMvcConfigurationAdapter.get().beanNameViewResolver()); context.registerBean("viewResolver", ContentNegotiatingViewResolver.class, () -> webMvcConfigurationAdapter.get().viewResolver(context)); context.registerBean(RequestContextFilter.class, WebMvcAutoConfigurationAdapter::requestContextFilter); // TODO Favicon management Supplier<EnableWebMvcConfiguration> enableWebMvcConfiguration = new Supplier<EnableWebMvcConfiguration>() { private EnableWebMvcConfiguration configuration; @Override public EnableWebMvcConfiguration get() { if (configuration == null) { configuration = new EnableWebMvcConfigurationWrapper(context.getBeanProvider(WebMvcProperties.class), context.getBeanProvider(WebMvcRegistrations.class), context); configuration.setApplicationContext(context); configuration.setServletContext(((WebApplicationContext) context).getServletContext()); configuration.setResourceLoader(context); } return configuration; } }; context.registerBean(FormattingConversionService.class, () -> enableWebMvcConfiguration.get().mvcConversionService()); context.registerBean(Validator.class, () -> enableWebMvcConfiguration.get().mvcValidator()); context.registerBean(ContentNegotiationManager.class, () -> enableWebMvcConfiguration.get().mvcContentNegotiationManager()); context.registerBean(ResourceChainResourceHandlerRegistrationCustomizer.class, () -> new ResourceChainCustomizerConfiguration().resourceHandlerRegistrationCustomizer()); context.registerBean(PathMatcher.class, () -> enableWebMvcConfiguration.get().mvcPathMatcher()); context.registerBean(UrlPathHelper.class, () -> enableWebMvcConfiguration.get().mvcUrlPathHelper()); context.registerBean(HandlerMapping.class, () -> enableWebMvcConfiguration.get().viewControllerHandlerMapping(context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class))); context.registerBean(RouterFunctionMapping.class, () -> { return enableWebMvcConfiguration.get().routerFunctionMapping(context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class)); }); context.registerBean(HandlerMapping.class, () -> enableWebMvcConfiguration.get().resourceHandlerMapping(context.getBean(ContentNegotiationManager.class), context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class))); context.registerBean(ResourceUrlProvider.class, () -> enableWebMvcConfiguration.get().mvcResourceUrlProvider()); context.registerBean(HandlerMapping.class, () -> enableWebMvcConfiguration.get().defaultServletHandlerMapping()); context.registerBean(HandlerFunctionAdapter.class, () -> enableWebMvcConfiguration.get().handlerFunctionAdapter()); context.registerBean(HttpRequestHandlerAdapter.class, () -> enableWebMvcConfiguration.get().httpRequestHandlerAdapter()); context.registerBean(SimpleControllerHandlerAdapter.class, () -> enableWebMvcConfiguration.get().simpleControllerHandlerAdapter()); context.registerBean(HandlerExceptionResolver.class, () -> enableWebMvcConfiguration.get().handlerExceptionResolver(context.getBean(ContentNegotiationManager.class))); context.registerBean(ViewResolver.class, () -> enableWebMvcConfiguration.get().mvcViewResolver(context.getBean(ContentNegotiationManager.class))); context.registerBean(HandlerMappingIntrospector.class, () -> enableWebMvcConfiguration.get().mvcHandlerMappingIntrospector(), bd -> bd.setLazyInit(true)); context.registerBean(WelcomePageHandlerMapping.class, () -> enableWebMvcConfiguration.get().welcomePageHandlerMapping(context, context.getBean(FormattingConversionService.class), context.getBean(ResourceUrlProvider.class))); context.registerBean(DispatcherServlet.LOCALE_RESOLVER_BEAN_NAME, LocaleResolver.class, () -> enableWebMvcConfiguration.get().localeResolver()); context.registerBean(DispatcherServlet.THEME_RESOLVER_BEAN_NAME, ThemeResolver.class, () -> enableWebMvcConfiguration.get().themeResolver()); context.registerBean(DispatcherServlet.FLASH_MAP_MANAGER_BEAN_NAME, FlashMapManager.class, () -> enableWebMvcConfiguration.get().flashMapManager()); context.registerBean(DispatcherServlet.REQUEST_TO_VIEW_NAME_TRANSLATOR_BEAN_NAME, RequestToViewNameTranslator.class, () -> enableWebMvcConfiguration.get().viewNameTranslator()); }
Example #11
Source File: WebMvcConfigurationSupport.java From lams with GNU General Public License v2.0 | 4 votes |
@Bean @Lazy public HandlerMappingIntrospector mvcHandlerMappingIntrospector() { return new HandlerMappingIntrospector(); }
Example #12
Source File: NewMvcRequestMatcher.java From SpringCloud with Apache License 2.0 | 4 votes |
public NewMvcRequestMatcher(HandlerMappingIntrospector introspector, String pattern, String method) { super(introspector, pattern); this.setMethod(HttpMethod.resolve(method)); this.pattern = pattern; this.method = method; }
Example #13
Source File: WebConfig.java From dhis2-core with BSD 3-Clause "New" or "Revised" License | 4 votes |
@Bean public HandlerMappingIntrospector handlerMappingIntrospector() { return new HandlerMappingIntrospector(); }
Example #14
Source File: DynamoDBConfig.java From tutorials with MIT License | 4 votes |
@Bean(name = "mvcHandlerMappingIntrospectorCustom") public HandlerMappingIntrospector mvcHandlerMappingIntrospectorCustom() { return new HandlerMappingIntrospector(context); }