Spring-SmartLifecycle 容器启动和关闭的时候执行操作

本文介绍了如何在Spring容器启动和关闭时执行特定操作,通过实现SmartLifecycle接口进行扩展。例如,使用它来接入RocketMq。SmartLifecycle与@PostConstruct的区别在于,@PostConstruct是在bean实例化后初始化前调用,而SmartLifecycle则在容器加载完所有bean并完成初始化后调用start方法。
摘要由CSDN通过智能技术生成

有一些业务上需要在spring容器启动和关闭的时候做一些操作,那么可以自定义SmartLifecycle接口的实现类来扩展

比如RocketMq的接入  

 

与@PostConstruct的区别:

@PostConstruct 是加在某个bean里的注解,是该bean实例化好后初始化之前即在initializeBean通过postProcessor(InitDestroyAnnotationBeanPostProcessor)调用

 

SmartLifecycle 和 lifeCyle 是接口,是当Spring容器加载所有bean并完成初始化之后(非懒加载),调用start方法

 

    pom.xml配置依赖:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.11.RELEASE</version>
        <relativePath/>
    </parent>

   <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值