SpringBoot 在初始化之后执行某项操作的方法

本次使用Spring Boot 版本 1.5.9

1 使用@PostConstruct

在任意方法上加入@PostConstruct,例如

@PostConstruct
public void init(){
// do something
}

2 使用Bean注入初始化方法

这种方法需要一个配置类,也就是加上了@Configuration注解
在返回某个类的方法上加入@Bean注解进行注入,其参数需带有initMethod,其值为想要执行初始化方法的名称,配置类例如

@Configuration
public class Config {

    @Bean(initMethod = "initMethod")
    public InitTest initTest() {
        return new InitTest();
    }
}

实际使用的类例如

public class InitTest{
    public void initMethod(){
    // do something
    }
}

3 使用接口InitializingBean

该接口的定义如下

public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

通过实现这个接口的afterPropertiesSet方法,来完成初始化操作,例如

public class InitTestInterface implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
    // do something
    }
}

Spring Bean初始化执行顺序

构造方法 --> @PostConstruct --> InitializingBean接口 --> @Bean 注入的init-method

在大型系统里千万要注意顺序

你可能感兴趣的:(SpringBoot 在初始化之后执行某项操作的方法)