SpringBean的生命周期是什么?有哪几种实例化方式?

2 个回答

  • 秦羽
    勇敢一点吧!我们不会比今年更年轻了。
    # 作用 - Spring Bean 生命周期描述 Bean 从被容器发现、实例化、依赖注入、初始化、使用,到最终销毁的完整过程。 - 生命周期中的扩展点允许开发者在 Bean 创建和销毁前后执行自定义逻辑。 # 原理 - Spring 容器首先通过配置类、XML、注解等方式找到 BeanDefinition。 - 根据 BeanDefinition 完成 Bean 的实例化。 - 为 Bean 完成属性填充和依赖注入。 - 处理 Aware 回调,例如 BeanNameAware、BeanFactoryAware、ApplicationContextAware 等。 - 执行 BeanPostProcessor 的初始化前置处理。 - 执行初始化逻辑,例如 @PostConstruct、InitializingBean、init-method。 - 执行 BeanPostProcessor 的初始化后置处理,AOP 代理通常在该阶段生成。 - Bean 进入可用阶段,单例 Bean 会被放入 Spring 容器缓存中。 - 容器关闭时执行销毁逻辑,例如 @PreDestroy、DisposableBean、destroy-method。 # 实例化方式 - 构造方法实例化:Spring 默认通过无参构造方法创建 Bean。 - 静态工厂方法:通过工厂类的静态方法返回 Bean 实例。 - 实例工厂方法:先创建工厂对象,再调用工厂对象的方法创建 Bean。 - FactoryBean:通过实现 FactoryBean 接口定制复杂 Bean 的创建逻辑。
    发布于 2026-10-26 12:37 •IP属地 吉林
    举报
    评论
    收藏

  • 苏剑心
    自己喜欢的东西又何必问别人好不好
    # 作用 - 说明 Spring IoC 容器如何从 Bean 定义创建、初始化、管理并最终销毁 Bean。 - Spring 3.0 开始支持基于 Java 的 Bean 元数据,也支持在组件类中声明 Bean 元数据,可用于定义 Bean 的实例化方式。 # 原理 ## 生命周期 该文档目录仅覆盖到 IoC 容器与 Bean 元数据相关章节,没有给出完整生命周期步骤。可概括为:容器读取 BeanDefinition 等元数据后创建 Bean,完成依赖注入和初始化,随后投入使用;容器关闭时执行销毁回调。具体的 BeanPostProcessor、初始化方法、销毁方法等细节网页正文未展开。 ## 实例化方式 根据网页中提到的 IoC 容器配置能力,可包括: - XML 配置:传统的外部化 Bean 元数据定义方式。 - Java Config:使用基于 Java 的 Bean 元数据进行配置。 - 组件注解:在组件类中定义 Bean 元数据,由容器扫描并注册。 网页没有进一步说明构造器实例化、静态工厂方法、实例工厂方法、FactoryBean 等具体方式,因此不能据此补充为网页结论。
    发布于 2026-10-26 09:45 •IP属地 浙江
    举报
    评论
    收藏