SpringBoot初始化时Do something的六种实现

本文详细介绍了在SpringBoot中实现启动时初始化的六种方法,包括@PostConstruct注解、@Bean的initMethod、实现InitializingBean接口、使用CommandLineRunner和ApplicationRunner接口,以及监听ContextRefreshedEvent事件。每种方式的示例代码清晰展示了其用法和初始化顺序。了解这些方法有助于优化SpringBoot应用的启动流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot初始化时Do something的六种实现

一,使用注解@PostConstruct
@Component
public class TestPostConstruct {
    @PostConstruct
    private void init(){
        System.out.println("-----------------PostConstruct初始化启动成功-----------------");
    }
}
二,使用注解@Bean(initMethod="")
@Configuration
public class TestBean {

    @Bean(initMethod = "init")
    public TestB testB(){
        return new TestB();
    }
    class TestB{
        private void init(){
            System.out.println("-----------------Bean初始化启动成功-----------------");
        }
    }
}
三,实现InitializingBean
@Component
public class TestInitializingBean implements InitializingBean {
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("-----------------InitializingBean初始化启动成功-----------------");
    }
}
四,实现CommandLineRunner
@Component
public class TestCommandLineRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("-----------------CommandLineRunner初始化启动成功-----------------");
    }
}
五,实现ApplicationRunner
@Component
public class TestApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("-----------------ApplicationRunner初始化启动成功-----------------");
    }
}
六,实现ApplicationListener
@Component
public class TestApplicationListener implements ApplicationListener<ContextRefreshedEvent> {
    @Override
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
        System.out.println("-----------------ApplicationListener初始化启动成功-----------------");
    }
}

初始化顺序比较

在这里插入图片描述

InitializingBean 快于 @PostConstruct 快于 @Bean 快于 ApplicationListener 快于 ApplicationRunner 快于 CommandLineRunner

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值