springboot什么是自动装配(springboot 自动配置总结)
解决电脑启动循环进入BOOT问题与利用Spring Boot Runner实现启动时调用的秘密
在日常的项目开发中,我们经常会遇到这样的需求:在项目启动的时候进行一些一次性的初始化工作,如读取加载资源文件、执行其他外部程序等。这时,我们可以利用Spring Boot为我们提供的扩展机制Runner。将深入如何使用Spring Boot中的Runner接口ApplicationRunner和CommandLineRunner,并其工作原理。
一、如何使用ApplicationRunner和CommandLineRunner
在Spring Boot中,提供了两种Runner接口:ApplicationRunner和CommandLineRunner。它们的用法非常简单。
对于ApplicationRunner,只需要实现相应的接口类,然后创建bean即可。其run方法接收一个ApplicationArguments类型的参数,该参数会对Spring Boot程序的启动参数进行和分类。
对于CommandLineRunner,其run方法接收的是一个String类型的可变参数,这些参数就是我们main函数接收到的命令行参数。
二、Runner的实现效果
ApplicationRunner和CommandLineRunner虽然都只有一个run接口,它们接收的参数类型却不一样,这就是它们唯一的区别。正确使用这两种Runner,可以在项目启动时执行一些特定的初始化操作。
三、Runner的实现原理
Spring Boot的Runner扩展的实现非常简单。在SpringApplication.run中,会调用callRunners方法。这个方法会查找实现了ApplicationRunner和CommandLineRunner接口的Bean,统一存放在一个list中,然后根据Bean的order进行排序,循环调用每一个Runner Bean的run接口。
具体来说,当Spring Boot启动时,它会创建一系列Bean,其中包括实现了ApplicationRunner和CommandLineRunner接口的Bean。当SpringApplication.run方法被调用时,它会查找这些Bean并调用它们的run方法。这就是Runner被调用的核心代码。
四、关于Spring Boot自动配置和创建父工程的
除了解决电脑启动循环进入BOOT的问题和如何使用Spring Boot Runner实现启动时调用外,我们还需要理解Spring Boot的自动配置机制。为什么需要创建父工程?这是因为Spring Boot的自动配置可以极大地简化我们的开发过程,而创建父工程可以更好地管理和组织我们的项目结构。
Spring Boot的Runner机制为我们提供了在项目启动时执行特定操作的便利方式。通过理解其用法、实现效果和原理,我们可以更好地利用这一机制来满足项目的需求。对Spring Boot自动配置和父工程的了解,也有助于我们更好地组织和管理项目。