Spring在加载ApplicationContext时是否等待每个@PostConstruct完成

xag*_*far 5 rest spring spring-mvc

我在某些服务类的 @PostConstruct 方法中有一些从数据库加载数据的逻辑,这需要很长时间。

还有一些不相关的控制器加载速度非常快,并且可能开始接受 HTTP 请求。

那么问题来了,Spring在加载ApplicationContext时是否只是等待每个@PostConstruct方法返回,因此无法接受任何请求,或者是否有任何异常?

我知道,我可以从数据库异步加载数据,但也许有更好的解决方案?

pvp*_*ran 0

在 Spring 中,所有 REST 端点都是通过RequestMappingHandlerMapping类实现的。

这在之后开始@PostContruct。所以你现在的做法完全没问题。