所有Spring内容初始化后如何执行代码?

时间:2015-01-15 14:11:01

标签: java spring

我希望在初始化所有spring内容时创建一些信息记录到控制台。

这包括已解决的所有@Autowired个依赖项,已注入的所有属性以及所有@PostConstruct方法已完成。

这也是我在这里不能使用@PostConstruct的原因,因为多个帖子注释的顺序可以保证。

那么,我怎么能实现这个目标呢?

2 个答案:

答案 0 :(得分:1)

现在找到答案:

public class Loader implements ApplicationListener<ContextRefreshedEvent> {
        @Override
        public void onApplicationEvent(ContextRefreshedEvent event) {
                 // TODO
        }
}

答案 1 :(得分:0)

如果显式创建并启动Application上下文,则可以在上下文初始化完成后运行代码。代码看起来像:

ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext("classpath:path/to/spring/context.xml");
LOGGER.info("Initializing Spring context...");
appContext.start();
LOGGER.info("Spring context initialization complete.");