Java 在同一个bean中,带@PostConstruct注释的方法是否保证在带@Scheduled的方法之前执行?
假设我正在定义一个缓存bean,它将在应用程序启动时初始化,并以固定的间隔刷新,如下所示:Java 在同一个bean中,带@PostConstruct注释的方法是否保证在带@Scheduled的方法之前执行?,java,spring,Java,Spring,假设我正在定义一个缓存bean,它将在应用程序启动时初始化,并以固定的间隔刷新,如下所示: @Component public class Cache { ... @PostConstruct public void initializeCache() { ... } @Scheduled(fixedRate = 60L * 1000L) public void refreshCache() { ...
@Component
public class Cache {
...
@PostConstruct
public void initializeCache() {
...
}
@Scheduled(fixedRate = 60L * 1000L)
public void refreshCache() {
...
}
}
即使我没有设置初始延迟,@PostConstruct下的initializeCache()方法是否保证在第一次计划的refreshCache()调用之前立即执行?是的,用
@PostConstruct
注释的方法保证首先执行
@Scheduled
注释被激活,它在任何bean初始化回调后被调用(如InitializingBean的AfterPropertieSet或自定义init方法)