10 2023 档案
摘要:简介 调用时机:spring容器在创建当前bean时,会去调用接口BeanFactoryAware扩展点。 public interface BeanFactoryAware extends Aware { void setBeanFactory(BeanFactory beanFactory) t
阅读全文
摘要:简介 依赖关系 序号Spring 内置事件描述1ContextRefreshedEventApplicationContext 被初始化或刷新时,该事件被发布。这也可以在ConfigurableApplicationContext接口中使用 refresh() 方法来发生。此处的初始化是指:所有的B
阅读全文
摘要:简介 在Spring容器初始化时,首先会读取应用程序中的配置文件,并解析出所有的Bean定义生成beanDefinition对象,并注册到容器中。 Spring提供了扩展接口BeanDefinitionRegistryPostProcessor,其中含有两个方法: public interface
阅读全文
摘要:简介 Spring启动部分流程: Spring IOC读取Bean的相关属性,保存到beanDefinition对象中。 加载完所有beanDefinition之后,调用BeanFactoryPostProcessor接口扩展点。 根据beanDefinition创建bean对象。 如果想获取bea
阅读全文
摘要:简介 在bean创建过程中,Spring提供了扩展接口InstantiationAwareBeanPostProcessor扩展bean创建功能。 public interface InstantiationAwareBeanPostProcessor extends BeanPostProcess
阅读全文
摘要:简介 创建对象最简单的方式是直接使用new操作符,如果创建对象比较繁杂,可以采用工厂模式。同样Spring中提供了FactoryBean接口来帮助创建对象。 public interface FactoryBean<T> { T getObject() throws Exception; Class
阅读全文
摘要:Spring实例化之后,提供三种初始化的方法: 使用JSR-250规范定义的@Postconstruct注解。 实现InitializingBean接口,实现afterPropertiesset()方法。 使用Spring提供的@Bean init-method标签。 执行顺序:@Postconst
阅读全文
摘要:简介 上下文(ConfigurableApplicationContext)刷新(当spring框架内部执行 ConfigurableApplicationContext#refresh() 方法的时候或者在SpringBoot的run()执行时)之前,Spring提供了扩展接口Applicatio
阅读全文
摘要:简介 该接口目前有两个方法: postProcessBeforeInitialization 该在初始化方法之前调用。 postProcessAfterInitialization 该方法再初始化方法之后调用。 public interface BeanPostProcessor { @Nullab
阅读全文
摘要:简介 Spring启动时,容器刷新完成之后,提供了扩展接口CommandLineRunner或者ApplicationRunner, 执行最后的逻辑。 public interface ApplicationRunner { void run(ApplicationArguments args) t
阅读全文
摘要:阅读说明:1.如果有排版格式问题,请移步https://www.yuque.com/mrhuang-ire4d/oufb8x/yo5ywqt5eudxvxfc?singleDoc#%20%E3%80%8ASpring%E5%8F%AF%E6%89%A9%E5%B1%95%E6%8E%A5%E5%8F
阅读全文