Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在创建spring上下文之前执行操作_Java_Spring_Spring Boot - Fatal编程技术网

Java 在创建spring上下文之前执行操作

Java 在创建spring上下文之前执行操作,java,spring,spring-boot,Java,Spring,Spring Boot,在创建Spring上下文之前,如何执行该操作?我发现只有一种解决方案或多或少能让我满意,那就是侦听ApplicationStartingEvent,但我不知道如何正确地执行它,因为Spring没有看到侦听器bean,因为上下文尚未创建。因此,可能有人知道如何捕获ApplicationStartingEvent,也可能知道另一个更好的解决方案。接口应用程序ContextInitializer可以满足您的要求 阅读文档 实现ApplicationContextInitializer允许您在加载持久b

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

接口应用程序ContextInitializer可以满足您的要求

阅读文档


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

您的用例是什么?你试过了吗?你需要什么特别的行动?有很多选择BPP的,BFP的,后构造,初始化豆等。。。你只需要挑一个更适合你的。@aleshka蝙蝠侠、BPP、BFP、PostConstructt,所有这些变体都不适合我。我应该启动Zookeeper,一些bean将在此后构造或构造函数中使用此Zookeeper,而此bean使用Zookeeper Spring决定在启动Zookeeper的组件之前创建。谢谢,我会检查它。