点击上方蓝色“方志朋”,选择“设为星标”回复“666”获取独家整理的学习资料!

来源:https://www.cnblogs.com/lsgspace/p/10508180.html

在springBoot中我们有时候需要让项目在启动时提前加载相应的数据或者执行某个方法,那么实现提前加载的方式有哪些呢?接下来我带领大家逐个解答

1.实现ServletContextAware接口并重写其setServletContext方法

@Component
public class TestStarted implements ServletContextAware {/*** 在填充普通bean属性之后但在初始化之前调用* 类似于initializingbean的afterpropertiesset或自定义init方法的回调**/@Overridepublic void setServletContext(ServletContext servletContext) {System.out.println("setServletContext方法");}
}

注意:该方法会在填充完普通Bean的属性,但是还没有进行Bean的初始化之前执行

2.实现ServletContextListener接口

/*** 在初始化Web应用程序中的任何过滤器或servlet之前,将通知所有servletContextListener上下文初始化。*/
@Override
public void contextInitialized(ServletContextEvent sce) {//ServletContext servletContext = sce.getServletContext();System.out.println("执行contextInitialized方法");
}

3.将要执行的方法所在的类交个spring容器扫描(@Component),并且在要执行的方法上添加@PostConstruct注解或者静态代码块执行

@Component
public class Test2 {//静态代码块会在依赖注入后自动执行,并优先执行static{System.out.println("---static--");}/***  @Postcontruct’在依赖注入完成后自动调用*/@PostConstructpublic static void haha(){System.out.println("@Postcontruct’在依赖注入完成后自动调用");}
}

4.实现ApplicationRunner接口

/*** 用于指示bean包含在SpringApplication中时应运行的接口。可以定义多个applicationrunner bean* 在同一应用程序上下文中,可以使用有序接口或@order注释对其进行排序。*/
@Override
public void run(ApplicationArguments args) throws Exception {System.out.println("ApplicationRunner的run方法");
}

4.实现CommandLineRunner接口

/*** 用于指示bean包含在SpringApplication中时应运行的接口。可以在同一应用程序上下文中定义多个commandlinerunner bean,并且可以使用有序接口或@order注释对其进行排序。* 如果需要访问applicationArguments而不是原始字符串数组,请考虑使用applicationrunner。* */
@Override
public void run(String... ) throws Exception {System.out.println("CommandLineRunner的run方法");
}

还有其他方案?留言告诉肥朝

昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看到。

关于算法刷题的困惑和疑问也经常听朋友们提及。这份笔记里面共包含作者刷LeetCode算法题后整理的数百道题,每道题均附有详细题解过程。很多人表示刷数据结构和算法题效率不高,甚是痛苦。有了这个笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断收藏了。

需要刷题笔记PDF文档的小伙伴可以直接长按扫码关注下方二维码,回复 「刷题笔记」 四个字自取:

关注下方公众号

????????????

回复关键字「刷题笔记」,即可下载

笔记版权归原作者所有,转载请注明出处 https://books.halfrost.com/leetcode/

springBoot启动时让方法自动执行的几种实现方式相关推荐

  1. 启动rrt什么意思_面试官:你来说一下springboot启动时的一个自动装配过程吧!...

    前言 继续总结吧,没有面试就继续夯实自己的基础,前阵子的在面试过程中遇到的各种问题陆陆续续都会总结出来分享给大家,这次要说的也是面试中被问到的一个高频的问题,我当时其实没答好,因为很早之前是看过spr ...

  2. SpringBoot启动时就会自动去连接mongdo DB指向的url

    SpringBoot启动时就会去连接mongdo DB指向的url:

  3. Spring Boot 启动时,让方法自动执行的 4 种方法!

    点击关注公众号,Java干货及时送达 作者:FOEVERYANG 来源:www.cnblogs.com/lsgspace/p/10508180.html 在springBoot中我们有时候需要让项目在 ...

  4. 详解在 Linux 启动时,如何自动执行命令或脚本

    2019独角兽企业重金招聘Python工程师标准>>> 我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后 ...

  5. 实践!在Spring-Boot启动时添加方法运行,查漏补缺

    这将产生以下日志输出: In CommandLineRunnerImpl status=running 如我们所见,该参数未解析,而是解释为单个值" status = running&quo ...

  6. SpringBoot启动时将数据库数据加载到内存

    文章目录 为什么需要将参数存入缓存?以及选择何种方式 SpringBoot启动时将数据库参数表参数加载到内存 常见思路 思路1: 使用@PostConstruct 思路2: 实现CommandLine ...

  7. 如何在SpringBoot启动时执行初始化操作,两个简单接口就可以实现

    (一)概述 最近遇到一个功能点,数据库中一张很简单的表有一千多条数据,这里的数据主要做到了值域映射的作用,简单来讲就是我可以通过中文名拿到数据库中对应的code值.原本的实现方式是每次用到之后去查一次 ...

  8. SpringBoot 启动时的运行方法

    文章目录 为什么我们需要在 spring boot 启动时运行代码? spring boot中启动后不同的运行方式 1.使用CommandLineRunner接口 实现 CommandLineRunn ...

  9. Java程序初始化启动自动执行的三种方法

    目录 @PostConstruct注解 CommandLineRunner接口 ApplicationRunner 接口 @Order注解设置启动顺序 分享一下自己用过的java程序初始化启动自动执行 ...

最新文章

  1. Effective Java 之个人总结
  2. Oracle中TO_DATE格式的使用小结
  3. 白光干涉衍射实验的计算机仿真,白光干涉_衍射实验的计算机仿真_蓝海江.pdf
  4. 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
  5. 赋能开发者,英特尔发布oneAPI 2022工具包
  6. Win7系统防火墙设置不了怎么办
  7. 体验QQ2011Beta3带来的变化和惊喜
  8. 微软技术沙龙 思考 体验 真正的中国网络技术
  9. C语言求素数/质数最高效的方法
  10. 引领团队追求高绩效结果
  11. edge 临时文件夹 位置_如何更改Microsoft Edge的下载文件夹的位置
  12. 苏宁2021“轻装上阵”,张近东:聚焦零售优势业务,增利减亏
  13. 刹那芳华,犹如指尖流砂
  14. Tomcat开启APR模式并设置Tomcat为开机自启动服务
  15. 四面快手、终拿Offer,想告诉你的一些事情
  16. java jms activemq_JMS-ActiveMQ与Java消息服务
  17. pgSql数据库报错:permission denied for relation 的错误
  18. 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项
  19. python远程文件管理系统_python 读取远程服务器文件
  20. 简单的图片管理器开发

热门文章

  1. IEEE Transaction ------laxTex模板,代码以及生成的PDF样式
  2. Linux服务之Samba服务篇
  3. Annotation
  4. 分治——最近点对问题 hdu1007
  5. Laravel 上使用 phpexcel的两种方式
  6. 【bzoj1853】[Scoi2010]幸运数字 容斥原理+搜索
  7. 对相机所看的视角截屏保存为图片
  8. Xtreme.Toolkit.Pro编译简单教程
  9. 【Whalepaper】CV论文研读 - You Only Look One-level Feature (YOLOF), CVPR2021
  10. 两个矩形重叠部分面积