Spring应用启动后执行任务的几种方法
Spring应用启动后执行任务的几种方法:
1.使用@PostConstruct注解,加在要执行的方法上,使任务可在该类初始化后执行。在该方法中可使用spring注入的其它bean,所在类必须是spring组件。
类似方法有 实现 InitializingBean 接口的afterPropertiesSet()方法;在xml配置中配置bean的init-method属性。
该方法所在类的初始化顺序为:
构造方法constructor --> @Autowired --> @PostConstruct --> InitializingBean --> init-method
2.实现ApplicationContextAware接口。重写setApplicationContext()方法,在此方法中执行额外任务。
3.使用自定义监听器继承ContextLoaderListener,实现contextInitialized方法。
4.springboot给我们提供了两种“开机启动”方式:可选择实现ApplicationRunner和CommandLineRunner 两个接口。
是在SpringApplication.run(…)方法执行结束前自动调用,run方法中都可以使用命令行参数。
多个实现类时使用@Order(value = 1)排序决定执行顺序。
5.springboot应用可在启动类的main方法中直接调用待执行的程序。可通过SpringApplication.run(…)方法返回的contex对象,获取spring容器中的service bean,执行该bean的方法。
Spring应用启动后执行任务的几种方法相关推荐
- java定时执行某个方法_Java中定时执行任务的三种方法
Java中定时执行任务的三种方法 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.sche ...
- Spring 中获取 request 的几种方法,及其线程安全性分析
概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等 ...
- linux 添加开机启动项的三种方法。
原文地址: https://blog.csdn.net/lylload/article/details/79488968 Shell环境变量配置文件:https://blog.csdn.net/yzs ...
- linux 添加开机启动项的三种方法
linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...
- Linux 添加开机启动项的三种方法
linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh # # This sc ...
- Java运行非Web的Springboot项目(测试类或启动主类两种方法)
Java运行非Web的Springboot项目(测试类或启动主类两种方法) 前言 一.创建打开一个Springboot项目 二.运行项目 1.Test测试类运行 2.启动主类运行 三.持续运行不停止( ...
- linux下dd做优盘启动_Linux中制作U盘启动盘的三种方法,使用启动盘创建器/dd命令和Etcher...
本文介绍在Linux系统中制作U盘启动盘的三种方法:使用启动盘创建器.dd命令和Etcher,以下以优麒麟Ubuntu Kylin 19.04为例,为你介绍这三种方法.如果要在Windows中制作U盘 ...
- C# 启动外部程序的几种方法
C# 启动外部程序的几种方法: 1. 启动外部程序,不等待其退出. 2. 启动外部程序,等待其退出. 3. 启动外部程序,无限等待其退出. 4. 启动外部程序,通过事件监视其退出. // using ...
- android启动其他app的服务器,Android中通过外部程序启动App的三种方法
这篇文章主要介绍了Android中通过外部程序启动App的三种方法, 本文讲解了直接通过包名. 通过自定义的Action. 通过Scheme三种方法,并分别给出操作代码,需要的朋友可以参考下 ==== ...
最新文章
- 【Mac】解决「无法将 chromedriver 移动到 /usr/bin 目录下」问题
- python安装后pip用不了 cmd命令窗口提示:Did not provide a command
- 5G 承载网 — Overview
- oracle 5632,17、oracle 性能管理
- ssrs 基于表达式显示_基于表达式的访问控制
- 上去很美的 Serverless 在中国落地的怎么样了?
- Jetson TX2软件源更新
- java读取文件buffered_关于Java中使用BufferedReader读取文件的疑惑
- 备忘录模式(Memento Pattern)
- SourceTree Win10 安装不成功解决过程记录
- SDL2源码分析1:初始化(SDL_Init())
- ASP net 2 0 中 WebResource axd 管理资源的一些知识点
- 文献速递 | 宿主细胞中SARS-CoV-2(新冠病毒)的m⁶A甲基化研究
- 启用Win10家庭版的远程桌面服务端
- 北航计算机控制系统实验报告,北航计算机控制系统实验报告..doc
- 如何在Win10登录画面默认开启小键盘数字锁定?
- vb.net利用listbox控件与excel文件相结合统计数据
- 高博14讲--第三讲 三维空间刚体运动
- 开源的OA办公系统,解决日常工作管理问题
- objective-c常见类型%z
热门文章
- phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。
- 霸面拿腾讯offer面经
- 软件测试员需要学什么?
- 红米note2能刷机没显示无服务器,红米Note2怎么线刷刷机 红米Note2手机线刷机教程图解...
- php 栏目名称,PHPCMS V9调用栏目ID,栏目名称,父栏目,顶级父栏目
- Task5 基于深度学习的文本分类2
- centos7Squid 代理服务器(传统代理)
- 计算机网络的安全目标要求网络,国家制定并不断完善(),明确保障网络安全的基本要求和主要目标,提出重点领域的网络安全政策、工作任务和措施。 - 众答网问答...
- h5+app如何打包,看这里就够了~
- 青年台胞夏令营活动.长城颐和园一日游