Skip to content

Instantly share code, notes, and snippets.

@cherniag
Created December 28, 2016 15:19
Show Gist options
  • Save cherniag/544234ddb353fabc3bbad9b2d797d44f to your computer and use it in GitHub Desktop.
Save cherniag/544234ddb353fabc3bbad9b2d797d44f to your computer and use it in GitHub Desktop.
Spring Boot
org.springframework.boot.BeanDefinitionLoader
parse @Config classes:
org.springframework.context.support.AbstractApplicationContext#refresh ->
org.springframework.context.support.AbstractApplicationContext#invokeBeanFactoryPostProcessors ->
org.springframework.context.annotation.ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry ->
org.springframework.context.annotation.ConfigurationClassPostProcessor#processConfigBeanDefinitions ->
org.springframework.context.annotation.ConfigurationClassParser#parse
parse BeanDefinitions from @Config
org.springframework.context.annotation.ComponentScanAnnotationParser#parse ->
// will scan, REGISTER in BeanFactory and return bean definitions
org.springframework.context.annotation.ClassPathBeanDefinitionScanner#doScan ->
// will return scanned components
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider#findCandidateComponents ->
//get all resources:
org.springframework.core.io.support.PathMatchingResourcePatternResolver#getResources ->
org.springframework.core.io.support.PathMatchingResourcePatternResolver#findPathMatchingResources
create ProxyScope
org.springframework.context.annotation.AnnotationConfigUtils#applyScopedProxyMode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment