版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/81750854

很多时候我们都会碰到需要在程序启动时去执行的方法,比如说去读取某个配置,预加载缓存,定时任务的初始化等。这里给出几种解决方案供大家参考。

1. 使用@PostConstruct注解

这个注解呢,可以在Spring加载这个类的时候执行一次。来看一下下方代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@Component
public class Test {public Test(){System.out.println("我最先执行");}/***我第二个执行*/@Autowiredprivate T t;/***我第三个个执行*/@PostConstructprivate void init(){//假装有代码}}

上方就是@PostConstruct注解的使用方法了,同时也表示了此类被加载时的执行顺序。

2. CommandLineRunner接口

使用CommandLineRunner接口类似于Main方法启动,可以接受一个字符串数组的命令行参数,来看一下实现

1
2
3
4
5
6
7
8
@Component
public class MyCommandLineRunner implements CommandLineRunner{@Overridepublic void run(String... args) throws Exception{//假装有代码}
}

3. ApplicationRunner 接口

此种方式与实现CommandLineRunner接口的区别就是他的参数是ApplicationArguments

1
2
3
4
5
6
7
8
9
10
@Order(value = 1)
@Component
public class MyApplicationRunner implements ApplicationRunner{@Overridepublic void run(ApplicationArguments args) throws Exception{//假装有代码}
}

我们可以看到,此类相比较于第二种方式还增加一个@Order注解,这个注解其实第二种方式也是能加的。

它的作用就是控制类的加载顺序,这个顺序是从小到大的。比如说启动时先去加载Order的value等于1的类,然后去加载等于2的类。

本文出自http://zhixiang.org.cn,转载请保留。

Java项目启动时执行指定方法的几种方式相关推荐

  1. java启动时执行_java怎么实现项目启动时执行指定方法

    本文实例为大家共享了java项目启动时执行指定方法,供大家参考,详细内容如下 想到的就是监听步骤如下: 1.配置web.xml com.listener.InitListener 2.编写InitLi ...

  2. java 项目启动初始化_Spring项目启动时执行初始化方法

    一.applicationContext.xml配置bean init-method="initKeyWord"> classpath:sensitive-word.xml ...

  3. SpringBoot 在启动时执行某些方法

    合理利用 SpringBoot 的 @PostConstruct .CommandLineRunner 或 ApplicationRunner: 某些场景下,需要在项目启动时就执行某些方法,例如:数据 ...

  4. spring配置项目启动时执行

    首先在配置文件中添加配置 <!-- 配置项目启动时执行  init方法--> <bean id="smsmanage" class="com.longr ...

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

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

  6. java项目启动时登录,Java项目启动时报错解决方法

    当前位置:我的异常网» Java Web开发 » Java项目启动时报错解决方法 Java项目启动时报错解决方法 www.myexceptions.net  网友分享于:2013-08-07  浏览: ...

  7. java web 启动时执行_java Web 启动时自动执行代码的几种方式

    Web容器启动后执行代码的几种方式,其执行顺序为:4===>5===>1===>2===>3,即指定init-method的Bean开始执行,接着实现spring的Bean后置 ...

  8. 【Spring框架】 ☞ 项目启动时执行特定处理及ApplicationListener源码分析

    1.背景 在一些业务场景中,在容器启动完成后,需要处理一些诸如:kafka业务注册,数据处理,初始化缓存等的操作. 本文重点介绍如何在服务启动中,或启动完成时执行相关处理. 2.针对上述场景,有如下实 ...

  9. JAVA - 项目启动后执行定时任务

    项目启动后不执行定时任务?? 这个得在启动类上加 @EnableScheduling 注解 @EnableScheduling @SpringBootApplication public class ...

最新文章

  1. (二)spring cloud微服务分布式云架构 - 整合企业架构的技术点
  2. 8.3折特惠票仅剩3天!「2019 嵌入式智能国际大会」全日程大公开!
  3. 文件压缩和文件打包命令
  4. sqlserver2008清除日志方法_服务器磁盘使用率100%解决方法
  5. cubase怎么添加midi设备_WIDI MASTER:5针无线蓝牙MIDI适配器
  6. 《Think Python》最新中文版火了,附完整PDF下载!
  7. 使用MRUnit测试Hadoop程序
  8. Tailwindcss尤大神都fork了,是未来的趋势?
  9. 王道考研 计算机网络8 物理层基本概念 数据通信相关术语
  10. linux单用户模式修复磁盘,在单用户模式下使用fsck命令修复受损的Mac硬盘
  11. anaconda安装keras_关于yolo模型的试安装及关于现阶段安排的一点想法
  12. iosession在linux下拒绝链接,iosession 关闭
  13. (转)对D3DXVec3Project 和D3DXVec3UnProject的认识
  14. Spark 集群安装
  15. MongoDB数据文件内部结构
  16. c语言系统主函数流程图,c语言流程图【调解方式】
  17. 人工智能基础入门——神经网络讲解
  18. H.264 NAL语法语意以及字节流的语法语意
  19. 微信小程序授权登录、绑定手机号(接口+小程序)
  20. 《Unity 3D人工智能编程》——2.2 子弹类

热门文章

  1. Git系列之git log高级命令
  2. Android使用Apache HttpClient发送GET、POST请求
  3. 百度地图应用开发(一)
  4. C++学习之:复制和粘贴文件/文件夹
  5. 系统集成项目管理工程师软考辅导——3年真题透解与全真模拟
  6. linux下配置ip地址四种方法(图文)
  7. Hashtable的遍历
  8. Android Studio中架包打包和依赖冲突解决
  9. C#代码生成工具:文本模板初体验 使用T4批量修改实体框架(Entity Framework)的类名...
  10. rhel 5 检测软件awstats,cacti,ntop搭建