首页 > 解决方案 > 在创建弹簧上下文之前执行操作

问题描述

在创建 Spring 上下文之前,如何执行该操作?我发现只有一个或多或少可以满足我的解决方案,它正在侦听ApplicationStartingEvent,但我不知道如何正确地做到这一点,因为 Spring 没有看到侦听器 bean,因为尚未创建上下文。因此,也许有人知道如何捕捉ApplicationStartingEvent,或者可能是另一种更好的解决方案。

标签: javaspringspring-boot

解决方案


接口 ApplicationContextInitializer 可以满足您的要求。

阅读ApplicationContextInitializer文档

实现 ApplicationContextInitializer 允许您在加载持久 bean 定义(即您的 application-context.xml)之前执行其他任务/初始化。一种这样的用途是,当您想在加载定义之前选择配置文件时。


推荐阅读