弹簧控制器 - 启动顺序

时间:2016-08-26 10:21:09

标签: java spring rest

我需要在我的应用程序完成启动后才能使端点可用。

目前我正在尝试使用Spring ApplicationListener / ContextRefreshedEvent来捕获Spring何时完成初始化。

有没有办法让它在此时启动我的自定义Rest端点?我尝试使用:

BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ReadinessIndicator.class);
beanFactory.registerBeanDefinition("readinessIndicator", builder.getBeanDefinition());

要在运行时添加bean,但它看起来不像是初始化的。

1 个答案:

答案 0 :(得分:0)

正如Aleksander所说,端点可以在应用程序完成加载后使用。如果要在所有初始化过程之后触发某个操作,可以在具有main方法的类中对方法使用@PostConstruct注释。例子

@PostConstruct
public void afterInit() {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ReadinessIndicator.class);
    beanFactory.registerBeanDefinition("readinessIndicator", builder.getBeanDefinition());
}
相关问题