Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save qsLI/77b8e9c72a31253c0f3ff89fef6c7a1d to your computer and use it in GitHub Desktop.
Save qsLI/77b8e9c72a31253c0f3ff89fef6c7a1d to your computer and use it in GitHub Desktop.
org.springframework.web.servlet.config.ViewControllerBeanDefinitionParser#registerHandlerMapping
private BeanDefinition registerHandlerMapping(ParserContext context, @Nullable Object source) {
if (context.getRegistry().containsBeanDefinition(HANDLER_MAPPING_BEAN_NAME)) {
return context.getRegistry().getBeanDefinition(HANDLER_MAPPING_BEAN_NAME);
}
RootBeanDefinition beanDef = new RootBeanDefinition(SimpleUrlHandlerMapping.class);
beanDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
context.getRegistry().registerBeanDefinition(HANDLER_MAPPING_BEAN_NAME, beanDef);
context.registerComponent(new BeanComponentDefinition(beanDef, HANDLER_MAPPING_BEAN_NAME));
beanDef.setSource(source);
beanDef.getPropertyValues().add("order", "1");
beanDef.getPropertyValues().add("pathMatcher", MvcNamespaceUtils.registerPathMatcher(null, context, source));
beanDef.getPropertyValues().add("urlPathHelper", MvcNamespaceUtils.registerUrlPathHelper(null, context, source));
RuntimeBeanReference corsConfigurationsRef = MvcNamespaceUtils.registerCorsConfigurations(null, context, source);
beanDef.getPropertyValues().add("corsConfigurations", corsConfigurationsRef);
return beanDef;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment