Spring中单例Bean的初始化与销毁方法执行顺序固定为:构造方法→@PostConstruct→afterPropertiesSet()→destroy-method;@PreDestroy用于容器关闭前清理,推荐优先使用标准注解而非框架接口。

在 Spring 依赖注入中,自定义 Bean 的初始化与销毁方法有明确且成熟的几种方式,核心围绕“何时执行”和“谁来管理”两个维度。单例 Bean 的初始化在容器启动后、属性赋值完成时触发;销毁则在容器关闭前执行。原型(prototype)Bean 不受容器管理销毁阶段,因此 只有单例 Bean 才能可靠使用销毁回调。
初始化的三种常用方式
它们的执行顺序固定:构造方法 → @PostConstruct → afterPropertiesSet() → :在配置类中声明 Bean 时直接指定普通方法名;方法需为 public、无参、无返回值;适合复用已有方法或解耦初始化逻辑
销毁顺序与初始化相反:@PreDestroy → destroy() → :指定任意无参 public 方法作为销毁入口;若方法名是 销毁的三种对应方式
close 或 shutdown,Spring 会默认识别,可省略该属性
注意事项与选择建议
init-method 和 destroy-method 已基本被 Java 配置替代,仅维护旧项目时可能遇到


















