CommandLineRunner

  • 定义初始化类 MyCommandLineRunner
  • 实现 CommandLineRunner接口,并实现它的 run()方法,在该方法中编写初始化逻辑
  • 注册成Bean,添加 @Component注解即可
  • 示例代码如下:
@Component
public class MyCommandLineRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("...init resources by implements CommandLineRunner"); } } 

  实现了 CommandLineRunner 接口的 Component 会在所有 Spring Beans 初始化完成之后, 在 SpringApplication.run() 执行之前完成。下面通过加两行打印来验证我们的测试。

ApplicationRunner

  • 定义初始化类 MyApplicationRunner
  • 实现 ApplicationRunner接口,并实现它的 run()方法,在该方法中编写初始化逻辑
  • 注册成Bean,添加 @Component注解即可
  • 示例代码如下:
@Component
public class MyApplicationRunner implements ApplicationRunner { @Override public void run(ApplicationArguments applicationArguments) throws Exception { System.out.println("...init resources by implements ApplicationRunner"); } } 

  可以看到,通过实现 ApplicationRunner 接口,和通过实现 CommandLineRunner 接口都可以完成项目的初始化操作,实现相同的效果。两者之间唯一的区别是 run()方法中自带的形参不相同,在 CommandLineRunner 中只是简单的String... args形参,而 ApplicationRunner 则是包含了 ApplicationArguments 对象,可以帮助获得更丰富的项目信息。

@PostConstruct

使用 @PostConstruct 注解同样可以帮助我们完成资源的初始化操作,前提是这些初始化操作不需要依赖于其它Spring beans的初始化工作。

转载于:https://www.cnblogs.com/zhangfengshi/p/9548151.html

Spring Boot中初始化资源的几种方式相关推荐

  1. springboot初始化逻辑_详解Spring Boot中初始化资源的几种方式

    假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看.今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回 ...

  2. RabbitMQ(六)——Spring boot中消费消息的两种方式

    前言 上一篇博客中,我们只是简单总结了Spring boot中整合RabbitMQ的操作,针对消息消费的两种方式只是简单给了一个实例,这篇博客,我们进一步总结关于Spring boot消息消费的相关功 ...

  3. Spring Boot 中密码加密的两种姿势!

    先说一句:密码是无法解密的.大家也不要再问松哥微人事项目中的密码怎么解密了! 密码无法解密,还是为了确保系统安全.今天松哥就来和大家聊一聊,密码要如何处理,才能在最大程度上确保我们的系统安全. 本文是 ...

  4. Spring Boot自定义 Servlet Filter 的两种方式

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 码农小胖哥 来源 | 公众号「码农小胖哥」 针 ...

  5. Spring Boot 项目鉴权的 4 种方式

    转自:枕边书 链接:https://zhenbianshu.github.io/ 文章介绍了spring-boot中实现通用auth的四种方式,包括 传统AOP.拦截器.参数解析器和过滤器,并提供了对 ...

  6. Spring Boot当中获取request的三种方式

    本篇博客主要记录request相关知识,也是开发当中经常遇到的,感兴趣的跟小编一起学习吧! 目录 一.请求过程 二.获取request的三种方式 2.1.可以封装为静态方法 2.2.controlle ...

  7. 从EJB3中访问资源的5种方式

    原文地址:http://javahowto.blogspot.com/2006/06/5-ways-to-get-resources-in-ejb-3.html 1.通过运行时信息映射进行资源注入 例 ...

  8. java 如何初始化数组_java中初始化数组的三种方式分别是什么

    三种初始化方式: 1.静态初始化:创建+赋值 2.动态初始化:先创建再赋值 3.默认初始化:创建之后若不赋值则会被赋对应数据类型的默认值 (视频教程推荐:java视频) 我们来看一下具体代码:publ ...

  9. 从插件中获取资源的几种方式[总结]_FileLocator

    方式一: public static URL getFile(String filename) throws IOException {   System.out.println("get ...

  10. 第六篇:Spring Boot 访问静态资源

    Spring Boot的默认静态资源的路径为: spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/ ...

最新文章

  1. 顶会ASPLOS 新成果解析:用“弹性异构”防御DNN加速器对抗攻击
  2. 神经元“超级替补”让失明小鼠恢复视力
  3. 创建可重用代码(C++)
  4. python中gettext文件格式_Python locale.gettext方法代码示例
  5. JavaScript实现唯一路径问题的回溯方法的算法(附完整源码)
  6. spring+cxf调用webservice接口
  7. 函数式接口作为方法的返回值类型案例
  8. 链表的C++创建及翻转
  9. android 发送csv邮件,无法在android中使用电子邮件发送.csv文件
  10. 韩国李世石跟韩国AI大战,2负一胜
  11. 花花省V5淘宝客APP源码无加密社交电商自营商城系统带抖音接口
  12. python处理access数据库教程_Python操作Access数据库基本步骤分析
  13. Android半透明提示效果的实现
  14. java毕业答辩_Java毕业设计答辩技巧
  15. 使用Git的Kdiff3解决合并冲突 显示乱码的问题
  16. 易语言单窗口单ip软件源码_易语言助手下载-易语言助手 v3.2.0701 官方版
  17. 数学家张益唐亲自评价关于攻克朗道西格尔零点猜想这个研究成果和意义!
  18. 方便快捷给 PDF 加水印
  19. INSTALL_PARSE_FAILED_NO_CERTIFICATES 解决办法
  20. 合工大苍穹战队视觉组培训Day8——视觉,目标识别

热门文章

  1. Vue+axios+Node+express实现文件上传(用户头像上传)
  2. Spring Boot教程(二十五)关于RabbitMQ服务器整合
  3. Maven第三篇【Maven术语、pom
  4. Linux软件安装到指定目录方法
  5. J2EE 读取资源文件properties的三种方式
  6. 【配置关系】—Entity Framework实例详解
  7. JS拖动技术--- 关于setCapture (转自 剑胆琴心-.Net学习笔记)
  8. phpquery类php,phpquery 最基础的例子
  9. java filter 注解_JAVA 之 Filter
  10. transform与rigibody以及角色控制器的运动