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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转 Spring****基于 Annotation 的简单介绍 2011年03月29日 15:07:00 阅读数:...
    fd649cf896c0阅读 2,761评论 1 0
  • 参考W3C Spring教程 Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层解决方案。可以说S...
    王侦阅读 4,889评论 0 6
  • IoC 容器 Bean 的作用域 自定义作用域实现 org.springframework.beans.facto...
    Hsinwong阅读 7,265评论 0 7
  • Spring致力于提供一种方法管理你的业务对象。在大量Java EE的应用中,随处可见Spring。今天我将简单的...
    JAVA架构师的圈子阅读 5,218评论 0 16
  • 25个经典的Spring面试问答 本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可...
    杀小贼阅读 4,030评论 0 2

友情链接更多精彩内容