如果一个类A实现Lifecycle接口,那么需要注意
1.A可以是任意一个容器中的Bean,A也可以是容器
2.当容器调用start或者close方法的时候,会根据A中的isRunning方法判断是否调用A中的start或者stop方法(回调)

下面定义一个A

@Component
public class MyLifeCycleBean1 implements Lifecycle {@Overridepublic void start() {System.out.println("start1");}@Overridepublic boolean isRunning() {System.out.println("isRunning1");return false;}@Overridepublic void stop() {System.out.println("stop1");}
}

简单阐述一下这个类的三个方法
start:如果类A没运行,则走该方法,如果类A已经运行,则不会走该方法
isRunning:返回true表示类A已经运行,返回false表示类A没运行
stop:如果类A正在运行,则走该方法,如果类A已经停止,则不走该方法
main方法1

public static void main(String[] args) {AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext("MyLifeCycleBean1所在包");ctx.start();ctx.close();
}

该方法会打印出

isRunning1
start1
isRunning1

当调用ctx的start方法的时候,ctx会先调用一下isRunning方法,由于isRunning方法一直返回false,ctx认为类A没有运行,所以ctx会调用start方法,表示让类A运行起来
当调用ctx的close方法的时候,同上,ctx会也会先调用一下isRunning方法,由于isRunning方法一直返回false,所以ctx认为类A压根就没有运行(停止状态),那么ctx就没必要再调用stop方法,所以没有打印出"stop1"

Spring-Lifecycle接口相关推荐

  1. 换一种方式编写 Spring MVC 接口

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 1. 前言 通常我们编写 Spring MVC 接口的范 ...

  2. springbean的生命周期_spring bean生命周期(涵盖spring常用接口的载入)

    spring bean生命周期流程图: ​ ​​​ 其中包含了很多常用的接口,可以参考spring 常用接口: 下面写个例子证明下: 1.实现InitializingBean以及各个Aware接口 p ...

  3. 护网必备技能:Spring Boot 接口数据加解密 功能实现

    护网必备技能:Spring Boot 接口数据加解密 功能实现 文章目录 护网必备技能:Spring Boot 接口数据加解密 功能实现 1. 尽量少改动,不影响之前的业务逻辑: 2. 考虑到时间紧迫 ...

  4. Spring Boot 接口参数自动加解密

    本文标题:Spring Boot 接口参数自动加解密 原始链接: https://www.shuibo.cn/102.html 许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链 ...

  5. spring注入接口

    spring注入接口 spring为何要注入接口,而注入实现类就会报错? 如果只是单纯注入是可以用实现类接收注入对象的,但是往往开发中会对实现类做增强,如事务,日志等,实现增强的AOP技术是通过动态代 ...

  6. 如何使用 Arthas 定位 Spring Boot 接口超时 ?

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:segmentfault.com/a/1190000020383866 背景 公司有个渠道系统,专门对接三方渠道使用,没有 ...

  7. 如何优雅的实现 Spring Boot 接口参数加密解密?

    点击关注公众号,Java干货及时送达 加密解密本身并不是难事,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办法,这种方式虽然粗暴,但是灵活,因为可以拿到一手的请求参数和 ...

  8. Mybaits整合Spring自动扫描 接口,Mybaits配置文件.xml文件和Dao实体类

    1.转自:https://blog.csdn.net/u013802160/article/details/51815077 1 <?xml version="1.0" en ...

  9. 如何使用 Arthas 定位 Spring Boot 接口超时

    作者 | 空无 来源 | https://segmentfault.com/a/1190000020383866 背景 公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校 ...

  10. 一文带你了解Spring核心接口Ordered的实现及应用

    前言 最近在看框架的时候,发现了这个接口,在此进行总结,希望能够给大家帮助,同时提升自己. order接口的大体介绍 Spring框架中有这个一个接口,名字叫Ordered,联想我们在数据库中应用的O ...

最新文章

  1. Ubuntu 14.04 64bit上编译安装MonaServer并测试
  2. 一夜暴富之前的漫漫长路
  3. Redis: 跳跃表
  4. Bootstrap整合ASP.NET MVC验证、jquery.validate.unobtrusive
  5. python字典的遍历方法_遍历python字典几种方法
  6. C++11多线程thread参数传递问题
  7. A5.2021年全国数学建模竞赛B题-赛题分析与评阅要点(乙醇偶合制备C4烯烃分析)
  8. 【Linux】awk处理变量
  9. validationEngine中文版 — jquery强大的表单验证插件,留着以后会用得上
  10. STM32中用 stop 模式 配合低功耗模式下的自动唤醒(AWU) 能否实现FreeRTOS tickless 模式...
  11. K8S学习笔记之MiniKube的搭建(VM虚拟机环境)
  12. keil软件安装与破解
  13. java中字符串逆序_[Java教程]一行代码实现字符串逆序输出
  14. 组装电脑超详细步骤(超多图+用了2个小时写的)
  15. 网络安全七大赛道:全面梳理(重磅深度)
  16. 用opencv在图片上面添加水印
  17. ARCGIS Pro试用申请教程以及登录页面脚本错误解决办法
  18. 有关matlab裁剪图片方面
  19. Android Wear 2.0首款手表来了;工信部明确增加物联网网号 | IoT黑板报
  20. 10个全网最具创意的聊天机器人:漫威和联合国儿童基金会都在尝试使用聊天机器人

热门文章

  1. CodeForces - 589A
  2. setint 的用法
  3. MySQL中的索引使用
  4. python写一个计时器_Python 实现一个计时器
  5. android随机数方法,Android生成随机数的方法实例
  6. boot客户管理系统实训报告_客户太多,客户转化困难?分析报告迟迟出不来,CRM客户管理系统助你一臂之力...
  7. c语言结构体tdl,计算机等级二级C笔试考前练习习题(21)
  8. mysql导入社工库文件_社工库-数据表结构设计和数据导入
  9. @Async异步功能
  10. idea2020.3升级lombok不能使用