spring源码之bean定义注册
看过spring源码的都知道,每个bean的初始化都需要经过BeanDefinition,BeanDefinition理解为bean定义:用于描述bean的信息,spring容器根据bean定义进行 IOC/AOP, 通常在业务开发时,我们常用的注解 @Component, @Service, @Controller,@Repository,@Bean 可以使一普通类成为BeanDefiniti
·
java面试题网站:www.javaoffers.com
看过spring源码的都知道,每个bean的初始化都需要经过BeanDefinition,BeanDefinition理解为bean定义:用于描述bean的信息,spring容器根据bean定义进行 IOC/AOP, 通常在业务开发时,我们常用的注解 @Component, @Service, @Controller,@Repository,@Bean
可以使一普通类成为BeanDefinition,spring会对其初始化。除了给予注解的形式,spring还提供了更高及的接口来指定某一类可以为BeanDefinition.例如:
BeanDefinitionRegistryPostProcessor: 注册bean定义
ImportSelector 注册(导入)bean定义 ,给予ConfigurationClassPostProcessor
ImportBeanDefinitionRegistrar: 注册bean定义,实现原理是 BeanDefinitionRegistryPostProcessor的子类-> ConfigurationClassPostProcessor-> this.reader.loadBeanDefinitions(configClasses)
源码分析图解(springBoot源码):
思考问题:假如让你写一springboot组件,比如spring-mybatis,你应该从什么地方下手.
更多推荐
已为社区贡献3条内容
所有评论(0)