springboots生命周期
时间: 2023-07-12 18:02:27 浏览: 48
Spring Boot 中的生命周期与 Spring 框架类似,但是有一些差别。
1. 实例化阶段:Spring Boot 应用启动时,会创建 SpringApplication 实例,并将应用的配置和参数传递给它。SpringApplication 实例会创建 Spring 容器,并通过自动配置、组件扫描等方式来实例化 Bean。
2. 属性注入阶段:Spring Boot 应用启动时,会加载 application.properties 或 application.yaml 配置文件,并将配置文件中的属性注入到 Bean 实例中。可以使用 @Value 注解或 @ConfigurationProperties 注解来注入属性。
3. 初始化阶段:Spring Boot 应用启动后,会调用 Bean 的初始化方法。可以使用 @PostConstruct 注解或实现 InitializingBean 接口来定义 Bean 的初始化方法。
4. 运行阶段:Spring Boot 应用启动后,会运行应用程序中的线程和定时任务。
5. 销毁阶段:Spring Boot 应用关闭时,会调用 Bean 的销毁方法。可以使用 @PreDestroy 注解或实现 DisposableBean 接口来定义 Bean 的销毁方法。
总之,Spring Boot 应用的生命周期包括:实例化阶段、属性注入阶段、初始化阶段、运行阶段和销毁阶段。
相关问题
spring bean 生命周期
Spring的生命周期包括实例化、配置和销毁三个阶段。首先,实例化阶段是指创建一个Bean的实例。在Spring中,Bean的实例化可以通过使用BeanFactory或ApplicationContext来获取。其次,配置阶段是指对实例化的Bean进行配置,也就是进行IOC注入。在这个阶段,Spring会根据配置文件中的Bean的id值进行相应的配置。如果Bean实现了BeanNameAware接口,Spring还会调用它实现的setBeanName(String)方法,传递的参数就是Bean的id值。最后,销毁阶段是指当Bean不再使用时进行垃圾回收。对于Singleton模式的Bean,Spring会负责管理整个生命周期;而对于Prototype模式的Bean,Spring在创建好并交给使用者后就不再管理后续的生命周期。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [关于Spring Bean的生命周期](https://blog.csdn.net/Apeopl/article/details/82964799)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Springbean生命周期详解](https://blog.csdn.net/qq_64169170/article/details/123052663)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
spring bean生命周期 源码
Spring框架提供了对Bean的生命周期管理。在Spring源码中,Bean的生命周期由两个关键接口定义:BeanFactory和BeanPostProcessor。
BeanFactory是Spring的核心接口之一,它负责管理所有的Bean,并负责实例化、配置和管理它们的整个生命周期。BeanFactory接口定义了许多方法,如getBean()和registerBeanDefinition(),用于获取和注册Bean。
BeanPostProcessor是另一个重要的接口,它定义了在Bean初始化的不同阶段可以插入自定义逻辑的扩展点。通过实现BeanPostProcessor接口,开发人员可以在Bean的实例化、初始化和销毁等阶段插入自己的逻辑。BeanPostProcessor接口中定义了两个方法:postProcessBeforeInitialization()和postProcessAfterInitialization()。
在Spring的源码中,Bean的生命周期主要涉及以下几个重要的类和方法:
1. DefaultListableBeanFactory类:此类实现了BeanFactory接口,是Spring容器的核心实现类之一。它负责读取Bean的定义信息,并根据这些定义信息创建和管理Bean。
2. AbstractAutowireCapableBeanFactory类:此类是DefaultListableBeanFactory的子类,它提供了Bean的自动装配功能。它包含了Bean的实例化、属性注入、初始化和销毁等关键步骤。
3. AnnotationConfigApplicationContext类:此类是通过注解配置来创建Spring容器的一种方式。它根据指定的配置类,扫描注解并完成Bean的初始化和管理。
4. BeanDefinition类:此类定义了Bean的配置信息,包括Bean的类名、属性值和依赖关系等。在Bean的生命周期中,BeanDefinition起到了重要的作用。
以上只是Spring Bean生命周期源码的一部分,如果你对Spring Bean生命周期的源码感兴趣,建议你阅读Spring源码以获得更详细的了解。