Java面试题:@PostConstruct、init-method和afterPropertiesSet执行顺序?

在Spring框架中,@PostConstruct注解、init-method属性、以及afterPropertiesSet()方法通常用于初始化Bean的逻辑。它们都提供了在Bean创建和初始化完成后执行的方法,但执行顺序有所不同。

想要知道@PostConstruct、init-method、afterPropertiesSet()的执行顺序,只要搞明白它们各自在什么时候被谁调用就行了。

代码如下:

import org.springframework.beans.factory.InitializingBean;
import javax.annotation.PostConstruct;
 
public class Foo implements InitializingBean {
 
    public void init(){
        System.out.println("执行了init生命周期的初始化回调");
    }
 
    @PostConstruct
    public void postConstruct(){
        System.out.println("执行了postConstruct生命周期的初始化回调");
    }
 
    @Override
    public void afterPropertiesSet() {
        System.out.println("执行了afterPropertiesSet生命周期的初始化回调");
    }
}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public cl

你可能感兴趣的:(Java面试题,java,spring,面试,设计模式,开发语言)