详解SpringBoot程序启动时执行初始化代码

yizhihongxing

我们来详细讲解一下如何在SpringBoot程序启动时执行初始化代码的完整攻略。

什么是SpringBoot

SpringBoot是一个开箱即用的轻量级框架,它可以帮助我们快速的构建一个基于Spring的Web应用程序,简化了Spring的配置,提供了自动化配置,是一个优秀的快速开发框架。

在SpringBoot程序启动时执行初始化代码的两种方案

方案1:使用CommandLineRunner

需要在main函数中获取到springApplication对象,通过调用该对象的addCommandLineProperties方法即可将自定义CommandLineRunner注入到SpringBoot的生命周期中,在启动时执行所需的初始化代码。

@SpringBootApplication
public class Application implements CommandLineRunner {
    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(Application.class);
        springApplication.addCommandLineProperties(false);
        springApplication.run(args);
    }

    @Override
    public void run(String... args) throws Exception {
        //这里可以执行所需要的初始化代码
        System.out.println("Hello World!");
    }
}

方案2:使用ApplicationRunner

与CommandLineRunner类似,只不过需要实现ApplicationRunner接口来实现对SpringBoot生命周期的注入,通过重写run方法,可以在启动时执行所需要的初始化代码。

@SpringBootApplication
public class Application implements ApplicationRunner {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    public void run(ApplicationArguments args) throws Exception {
        //这里可以执行所需要的初始化代码
        System.out.println("Hello World!");
    }
}

总结

以上两种方案都可以在SpringBoot程序初始化时执行所需要的初始化代码。其中,使用CommandLineRunner的方案可以获取到参数列表,方便对参数进行处理,而使用ApplicationRunner则可以获取到ApplicationArguments对象,方便对命令行参数的解析。推荐在项目中使用ApplicationRunner进行初始化代码的执行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解SpringBoot程序启动时执行初始化代码 - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • excel中countifs函数统计词频个数出现次数

    Excel中countifs函数统计词频个数出现次数 在处理数据时,经常需要统计某个词出现的次数。如果要手动数数,工作量很大,而且容易出错。Excel中提供了一个函数可以方便地实现这个功能,就是countifs函数。 countifs函数简介 countifs是Excel中的一个函数,用来统计符合多个条件的单元格的数量。它的语法如下: =COUNTIFS(r…

    其他 2023年3月28日
    00
  • jenkins配合dockerfile部署项目

    以下是关于“jenkins配合dockerfile部署项目”的完整攻略,包括基本概念、解决方法、示例说明和注意事项。 基本概念 Jenkins是一种开源的自动化部署工具可以帮助开发人员自动化构建、测试和部署软件。Docker是一种容器化技术,可以将应用程序和其依赖项打包到一个容器中,以便在不同的环境中运行。Jenkins可以与Dockerfile配合使用,以…

    other 2023年5月7日
    00
  • ONENOTE 使用心得分享

    ONENOTE 使用心得分享攻略 1. 简介 OneNote是一款强大的笔记应用程序,可以帮助用户轻松地记录、整理和共享信息。下面是一些使用OneNote的心得分享,希望对你有所帮助。 2. 基本功能 2.1 笔记本和节 OneNote使用笔记本(Notebook)来组织你的笔记。你可以创建多个笔记本,每个笔记本可以包含多个节(Section)。 示例:创建…

    other 2023年7月28日
    00
  • 【反编译系列】三、反编译神器(jadx)

    【反编译系列】三、反编译神器(jadx) 在移动应用开发中,反编译工具是一种非常重要的工具。它可以帮助应用开发者解析 apk 包中的代码、资源文件等,方便研究其他应用的实现方法或者保护自己的代码版权。反编译神器(jadx)是一款开源高效的 Android 应用反编译工具,可以将 apk 包中的 dex 代码文件还原成 Java 语言的源代码,非常适合移动应用…

    其他 2023年3月28日
    00
  • C语言的数组与指针可以这样了解

    C语言中的数组和指针都是非常重要的概念,它们在编程中广泛应用。本篇攻略将阐述数组和指针的基本概念、如何使用数组和指针以及它们之间的关系。 1. 数组 1.1 基本概念 数组是一组具有相同数据类型的变量组成的有序集合。数组的每个元素可以通过下标来访问,下标从0开始,最大值为数组长度减1。 定义一个数组的方法如下: int arr[10]; 上述语句定义了一个大…

    other 2023年6月25日
    00
  • Win10鼠标右键一直转圈怎么办?Win10鼠标右键一直转圈的解决方法

    Win10鼠标右键一直转圈通常是由于系统文件损坏或错误、系统更新、软件冲突等原因导致的。下面是解决方法的详细讲解。 方法一:更新或修复系统文件 这是最常见的解决办法之一,可以通过系统自带的命令行工具修复系统文件。进入命令提示符(管理员权限),输入以下命令: sfc /scannow 等待一段时间后,系统会自动扫描并修复损坏的系统文件。如果此时还有问题,可以再…

    other 2023年6月27日
    00
  • PHP开发框架laravel代码提示示例解析

    PHP开发框架laravel代码提示示例解析 1. 什么是代码提示 代码提示是一种在编程过程中提供自动补全和建议的功能,用于提高开发效率和减少错误。在使用PHP开发框架laravel时,代码提示可以帮助开发者快速查找和使用框架内置的类、方法和属性,减少手动查阅文档的时间。 2. laravel框架代码提示配置 为了实现laravel框架的代码提示功能,我们需…

    other 2023年6月28日
    00
  • ora-28000帐户已被锁定的解决方法

    简介 ORA-28000是Oracle数据库中的一个错误代码,表示用户帐户已被锁定。这通常是由于用户多次尝试使用错误的凭据数据库而导致的。在本攻略中,我们将介绍如何解决ORA-28000错误,并提供两个示例说明。 解决方法 以下是解ORA-28000错误的方法: 方法1:解锁用户帐户 可以使用以下命令解锁用户帐户: ALTER USER username A…

    other 2023年5月6日
    00
合作推广
合作推广
分享本页
返回顶部