时间:2021-05-20
介绍
在开发过程中,我们有时候会遇到非接口调用而出发程序执行任务的一些场景,比如我们使用quartz定时框架通过配置文件来启动定时任务时,或者一些初始化资源场景等触发的任务执行场景。
方法一:注解
方案
通过使用注解@Configuration和@Bean来初始化资源,配置文件当然还是通过@Value进行注入。
补充@Configuration加载Spring:
示例
package com.example.andya.demo.conf;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * @author andya * @create 2020-06-24 14:37 */@Configurationpublic class InitConfigTest { @Value("${key}") private String key; @Bean public String testInit(){ System.out.println("init key: " + key); return key; }}方法二:CommandLineRunner
方案
实现CommandLineRunner接口,该接口中的Component会在所有Spring的Beans都初始化之后,在SpringApplication的run()之前执行。
多个类需要有顺序的初始化资源时,我们还可以通过类注解@Order(n)进行优先级控制
示例
package com.example.andya.demo.service;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.CommandLineRunner;import org.springframework.stereotype.Component;/** * @author andya * @create 2020-06-24 14:47 */@Componentpublic class CommandLineRunnerTest implements CommandLineRunner { @Value("${key}") private String key; @Override public void run(String... strings) throws Exception { System.out.println("command line runner, init key: " + key); }}两个示例的运行结果
总结
到此这篇关于SpringBoot项目启动时如何读取配置以及初始化资源的文章就介绍到这了,更多相关SpringBoot启动时读取配置及初始化资源内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
因项目集成了Redis缓存部分数据,需要在程序启动时将数据加载到Redis中,即初始化数据到Redis。在SpringBoot项目下,即在容器初始化完毕后执行我
问题描述在spring-boot启动时,希望能执行相应的sql文件来初始化数据库。使用配置文件初始化数据库可以在spring-boot的配置文件applicat
初始化失败意思就是没启动起来的意思。因为硬件或者软件文件错误,造成启动错误。初始化:就是启动的意思。 初始化错误是在windows启动时,每一个或多个系统程序
在使用springboot构建应用启动时,我们在工作中都是通过命令行来启动应用,有时候会需要一些特定的参数以在应用启动时,做一些初始化的操作。springboo
named这个主体进程在启动时需要读取一个初始化文件,缺省为/etc/named.boot。另外建议大家使用Linux自带的ndc工具来进行启动、中止、重启动、