在Spring Boot中,CommandLineRunner接口用于在应用程序启动后执行一些特定的命令行操作。通过实现CommandLineRunner接口,您可以在Spring Boot应用程序运行时执行一些自定义的初始化操作,比如读取配置文件、执行特定任务等。

要使用CommandLineRunner接口,您需要创建一个实现该接口的类,并实现其run()方法。在run()方法中,您可以编写要在应用程序启动时执行的命令行操作。以下是一个简单的示例:

 1 package com.jzt.zhcai.beacon.config;
2
3 import cn.hutool.core.collection.CollectionUtil;import org.apache.commons.lang.exception.ExceptionUtils;import org.springframework.boot.CommandLineRunner;
4 import org.springframework.stereotype.Component;
5 import org.springframework.util.CollectionUtils;
6
7 import javax.annotation.Resource;
8 import java.lang.reflect.Field;
9 import java.util.*;
10 import java.util.concurrent.TimeUnit;
11
12
13 @Component
14 @Slf4j
15 public class MyCommandLineRunner implements CommandLineRunner {
16
17 @Resource
18 XxxMapper xxxMapper;
19
20 @Override
21 public void run(String... args) throws Exception {
22 initializeDtConfig();
23 }
24
25 public void initializeDtConfig() throws Exception {
26 initVisitPurpose();
27 initCustomerConfig();
28 }
29
30 private void initVisitPurpose() {
31 // do something
32 }
33
34 private void initCustomerConfig() {
35 // do something
36 }
37 }

在上面的示例中,我们创建了一个名为MyCommandLineRunner的类,并实现了CommandLineRunner接口的run()方法。在run()方法中,我们编写了一个简单的逻辑,打印出"CommandLineRunner已执行!"的消息。然后,我们使用@Component注解将该类标记为一个Spring组件,以便Spring容器能够在应用程序启动时自动实例化该类并调用其run()方法。

要执行该CommandLineRunner,您需要在Spring Boot应用程序中将该类定义为一个bean,并将其添加到CommandLineRunner列表中。以下是一个示例配置:

 1 import org.springframework.context.annotation.Bean;
2 import org.springframework.context.annotation.Configuration;
3 import org.springframework.boot.CommandLineRunner;
4 import org.springframework.stereotype.Component;
5
6 @Configuration
7 public class MyAppConfig {
8
9 @Bean
10 public CommandLineRunner myCommandLineRunner() {
11 return new MyCommandLineRunner();
12 }
13 }

在上面的示例中,我们创建了一个名为MyAppConfig的配置类,并使用@Bean注解定义了一个名为myCommandLineRunner的方法。该方法返回一个MyCommandLineRunner的实例,并将其注册为一个Spring bean。然后,Spring容器将在应用程序启动时自动将该bean添加到CommandLineRunner列表中,以便在应用程序运行时执行相应的命令行操作。

通过使用CommandLineRunner接口和相应的配置,您可以方便地在Spring Boot应用程序启动时执行自定义的命令行操作。这对于需要在应用程序运行时进行一些特定操作的场景非常有用。

SpringBoot进阶 CommandLineRunner 初始化配置的更多相关文章

  1. SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源

    这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...

  2. SpringBoot的外部化配置最全解析!

    目录 SpringBoot中的配置解析[Externalized Configuration] 本篇要点 一.SpringBoot官方文档对于外部化配置的介绍及作用顺序 二.各种外部化配置举例 1.随 ...

  3. SpringBoot进阶教程(六十四)注解大全

    在Spring1.x时代,还没出现注解,需要大量xml配置文件并在内部编写大量bean标签.Java5推出新特性annotation,为spring的更新奠定了基础.从Spring 2.X开始spri ...

  4. SpringBoot进阶教程(二十九)整合Redis 发布订阅

    SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...

  5. springboot情操陶冶-web配置(九)

    承接前文springboot情操陶冶-web配置(八),本文在前文的基础上深入了解下WebSecurity类的运作逻辑 WebSecurityConfigurerAdapter 在剖析WebSecur ...

  6. springboot情操陶冶-web配置(二)

    承接前文springboot情操陶冶-web配置(一),在分析mvc的配置之前先了解下其默认的错误界面是如何显示的 404界面 springboot有个比较有趣的配置server.error.whit ...

  7. Springboot学习03-SpringMVC自动配置

    Springboot学习03-SpringMVC自动配置 前言 在SpringBoot官网对于SpringMVCde 自动配置介绍 1-原文介绍如下: Spring MVC Auto-configur ...

  8. 003-spring cloud gateway-概述、Route模型、网关初始化配置过程、基本原理

    一.概述 网关服务核心是将进入的请求正确合理的路由到下层具体的服务进行业务处理,由此可见网关服务的核心就是路由信息的构建. Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到 ...

  9. SpringBoot整合Mybatis,TypeAliases配置失败的问题

    SpringBoot整合Mybatis,TypeAliases配置失败的问题 问题描述 在应用MyBatis时,使用对象关系映射,将对象和Aliase映射起来. 在Mybatis的文档明确写出,如果你 ...

  10. SpringBoot进阶教程(五十九)整合Codis

    上一篇博文<详解Codis安装与部署>中,详细介绍了codis的安装与部署,这篇文章主要介绍介绍springboot整合codis.如果之前看过<SpringBoot进阶教程(五十二 ...

随机推荐

  1. 10个 Istio 流量管理 最常用的例子,你知道几个?

    10 个 Istio 流量管理 最常用的例子,强烈建议收藏起来,以备不时之需. 为了方便理解,以Istio官方提供的Bookinfo应用示例为例,引出 Istio 流量管理的常用例子. Bookinf ...

  2. ChatGPT小型平替之ChatGLM-6B本地化部署、接入本地知识库体验

    本文期望通过本地化部署一个基于LLM模型的应用,能让大家对构建一个完整的应用有一个基本认知.包括基本的软硬环境依赖.底层的LLM模型.中间的基础框架及最上层的展示组件,最终能达到在本地零编码体验的目的 ...

  3. 基于picker封装的移动端简单实用选择器select插件

    基于picker封装的移动端简单实用选择器select插件; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12797 效果图如 ...

  4. 前端Vue自定义简单通用省市区选择器picker地区选择器picker 收获地址界面模版

    前端Vue自定义简单通用省市区选择器picker地区选择器picker 收获地址界面模版,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin ...

  5. JavaCV的摄像头实战之十二:性别检测

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<JavaCV的摄像头实战> ...

  6. C++ 核心指南之资源管理(下)—— 智能指针最佳实践

    C++ 核心指南(C++ Core Guidelines)是由 Bjarne Stroustrup.Herb Sutter 等顶尖 C+ 专家创建的一份 C++ 指南.规则及最佳实践.旨在帮助大家正确 ...

  7. 最近很火的开源培训系统,支持免费商用,3个月1000star!

    项目简介 PlayEdu 开源培训系统自发布以来,3个月内帮助上千位开发者部署了私有化培训平台,并在 Github 上获得了1000star. 项目地址 Github 地址:https://githu ...

  8. 即构微信小程序直播组件是什么?有哪些功能?哪些小程序类目可以使用?

    即构直播助手是微信官方认证的微信小程序插件,为开发者提供便捷.强大的微信小程序音视频直播服务. 即构直播助手除了包含微信小程序下的音视频推拉流能力,还支持iOS.Android.Windows.Web ...

  9. 你知道.NET的字符串在内存中是如何存储的吗?

    毫无疑问,字符串是我们使用频率最高的类型.但是如果我问大家一个问题:"一个字符串对象在内存中如何表示的?",我相信绝大部分人回答不上来.我们今天就来讨论这个问题. 一.字符串对象的 ...

  10. Spring Boot Starter 剖析与实践

    引言 对于 Java 开发人员来说,Spring 框架几乎是必不可少的.它是一个广泛用于开发企业应用程序的开源轻量级框架.近几年,Spring Boot 在传统 Spring 框架的基础上应运而生,不 ...