点击关注公众号,Java干货及时送达

作者:FOEVERYANG
来源: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方法");
}

5、实现CommandLineRunner接口

/*** 用于指示bean包含在SpringApplication中时应运行的接口。可以在同一应用程序上下文中定义多个commandlinerunner bean,并且可以使用有序接口或@order注释对其进行排序。* 如果需要访问applicationArguments而不是原始字符串数组,请考虑使用applicationrunner。* */
@Override
public void run(String... ) throws Exception {System.out.println("CommandLineRunner的run方法");
}
热门内容:
好家伙!JDK16 GA 终于发布,内置 Lombok 的功能,真的顶?
美团面试题:String s = new String("111")会创建几个对象?再见,HttpClient!再见,Okhttp!最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡

Spring Boot 启动时,让方法自动执行的 4 种方法!相关推荐

  1. Spring项目启动完成后,自动执行一次指定方法

    文章目录 SpringMVC SpringBoot 参考 SpringMVC 实现ApplicationListener接口,并实现 onApplicationEvent(ContextRefresh ...

  2. 在Spring Boot启动时运行代码

    Spring Boot会自动为我们执行很多配置,但是迟早您将不得不做一些自定义工作. 在本文中,您将学习如何进入应用程序引导生命周期并在Spring Boot启动时执行代码 . 因此,让我们看看该框架 ...

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

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

  4. js中当等于最小值是让代码不执行_网页中JS函数自动执行常用三种方法

    本文为大家分享了在网页中JS函数自动执行常用方法,供大家参考,具体内容如下 一.JS方法 1.最简单的调用方式,直接写到html的body标签里面: 2.在JS语句调用: function myfun ...

  5. html网页自动运行函数,在网页中JS函数自动执行常用三种方法

    在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: functionn MyAutoRun() { //以下是您的函数的代码,请自行修改先! alert("函数 ...

  6. 介绍Spring Boot 启动时,自动执行指定方法的 7 种方法

    目录 前言 实现方式 1.实现ServletContextListener接口contextInitialized方法 2.静态代码块方式 3.@PostConstruct注解方式 4. 实现Serv ...

  7. 【264期】面试官问:Spring Boot 启动时自动执行代码方式有哪几种?解释一二!...

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 前言 目前 ...

  8. springBoot启动时让方法自动执行的几种实现方式

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源:https://www.cnblogs.com/lsg ...

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

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

最新文章

  1. 简述Web程序开发流程
  2. 沈向洋博士:三十年科研路,我踩过的那些坑
  3. C++存储和处理字符串
  4. 深入理解JVM—性能调优
  5. From Apprentice To Artisan 翻译 19
  6. android 百度地图 在线建议查询,百度地图SDK-----百度地图在线建议查询,结合AutoCompleteTextView实现搜索下拉列表。...
  7. Java8新特性解析
  8. 基于django和vue的xdh官网设计
  9. java黄金连分数_蓝桥杯 | Java B组省赛真题练习——黄金连分数-Go语言中文社区...
  10. 谷歌Chrome浏览器添加新技术 可防止广告主追踪用户
  11. 蓝桥杯2015年第六届C/C++省赛C组第一题-隔行变色
  12. Cocos2d-x 3.2 大富翁游戏项目开发-第八部分 角色的散步路径
  13. Java ThreadLocal study 2
  14. easyui datagrid 遇到的坑 cannot read property ·· pageNum bug and so on
  15. Linux软件包安装之yum的使用
  16. dialog的二次封装
  17. python ffmpeg转码_使用FFMPEG进行HTML5 /和实时转码
  18. Ubuntu(debian) 程序 dep 打包
  19. 潇潇六月雨 input file里的JQ change() 事件的只生效一次
  20. linux nginx进程占用80端口杀不掉

热门文章

  1. 解决Ubuntu系统下git clone下载速度较慢的问题(亲测有效)
  2. springboot 集成mybatis时日志输出
  3. 2014年国内最热门的.NET开源平台
  4. Hibernate中get方法和load方法的区别
  5. WinRAR也能实现智能备份
  6. 还是这个序列化的解释比较好懂
  7. 程序员感悟----路该怎么走
  8. 刻意练习:LeetCode实战 -- Task19. 相同的树
  9. Matlab与线性代数 -- 矩阵的重组4
  10. LUT 查表反色处理