Java 在同一个bean中,带@PostConstruct注释的方法是否保证在带@Scheduled的方法之前执行?

Java 在同一个bean中,带@PostConstruct注释的方法是否保证在带@Scheduled的方法之前执行?,java,spring,Java,Spring,假设我正在定义一个缓存bean,它将在应用程序启动时初始化,并以固定的间隔刷新,如下所示: @Component public class Cache { ... @PostConstruct public void initializeCache() { ... } @Scheduled(fixedRate = 60L * 1000L) public void refreshCache() { ...

假设我正在定义一个缓存bean,它将在应用程序启动时初始化,并以固定的间隔刷新,如下所示:

@Component
public class Cache {

     ...

     @PostConstruct
     public void initializeCache() {
     ...
     }

     @Scheduled(fixedRate = 60L * 1000L)
     public void refreshCache() {
     ...
     }

}

即使我没有设置初始延迟,@PostConstruct下的initializeCache()方法是否保证在第一次计划的refreshCache()调用之前立即执行?

是的,用
@PostConstruct
注释的方法保证首先执行

@Scheduled
注释被激活,它在任何bean初始化回调后被调用(如InitializingBean的AfterPropertieSet或自定义init方法)