java使用springboot-starter启动检查配置是否满足要求

  介绍

本篇内容主要讲解“java使用springboot-starter启动检查配置是否满足要求”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java使用springboot-starter启动检查配置是否满足要求”吧!

检查配置

主要有以下几个检测项:
1。环境变量的检查
2。java运行变量的检查
3。指定位置文件的检查
4。主机检查

运行启动

要想一启动程序就运行,我们自然而然就想到了springboot的启动项目,对,我们把这个也封装成一个起动器,这样一启动springboot应用,就可以检查各种条件了。

制作起动器

引入依赖:

<节>
 dependencies  {implementation 才能平台(& # 39;org.springframework.boot: spring-boot-dependencies: 2.1.6.RELEASE& # 39;),, compile 组:,& # 39;org.springframework.boot& # 39;,,名字:,& # 39;spring-boot-autoconfigure& # 39;,,} 
  

项目结构如下图所示

癹ava使用springboot-starter启动检查配置是否满足要求"

spring.factories:

<节>
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.platform.tools.starter.spring.boot.ToolAutoConfigurationorg.springframework.context.ApplicationContextInitializer=\ com.platform.tools.starter.spring.boot.ToolApplicationContextInitializer 
  

ToolAutoConfiguration.java

<节>
 @Configurationpublic  class  ToolAutoConfiguration  {} 
  

ToolApplicationContextInitializer。java

<节>
 <代码>公共类ToolApplicationContextInitializer实现ApplicationContextInitializer{ <代码> 
<代码>,代码,@Override <代码>,,公共空间初始化(ConfigurableApplicationContext applicationContext){ <代码>,,,,System.out.println(“编写检查代码here"); <代码>,,} <代码>} <代码>
  

运行效果如下:

癹ava使用springboot-starter启动检查配置是否满足要求"

这样我们就做到了在项目一启动的时候就运行检测代码的效果

编写检查代码

如上所述有环境变量,文件等简单的校验,本文以阿波罗的检测为例写几个典型的获取配置的代码,下面的代码中包含判断文件是否存在,判断环境变量,判断系统变量

<节>
 <代码>公共类InitCheck,{ <代码> 
<代码>,,/* *操作系统类别:1是赢,2是其他*/ <代码>,,私人整数osType; <代码>
<代码>,,/* *环境变量的地图*/ <代码>,,私人Map<字符串,String>envMap=System.getenv(); <代码>
<代码>,代码,公共InitCheck(){ <代码>,,,,//获取操作系统类型 <代码>,,,,字符串osName=System.getProperty (“os.name"); <代码>,,,这。osType=osName.contains (“windows") ? 1:2; <代码>,代码,} <代码>
<代码>,/,/* * <代码> <代码>,,*对外提供的调用方法,在新完InitCheck之后,就调用这个方法 <代码>,,* <代码>,,* @return <代码>,,代码*/ <代码>,,公共布尔checkAll(){ <代码>,,,, <代码>,,,代码,返回checkApollo(); <代码>,代码,} <代码>
<代码>,/,/* * <代码> <代码>,,*检查阿波罗的配置是否正确 <代码>,,* @return <代码>,,代码*/ <代码>,,私人布尔checkApollo(){ <代码>,,,,//阿波罗主要是检查ENV有没有设置,而且只检查环境变量和文件 <代码>,,,,字符串env=envMap.get (“ENV"); <代码>,,,,布尔envFlag=env !=零,,! env.isEmpty(); <代码>,,,,字符串filePath=osType==1 ?“C:/opt/设置/server.properties":“/opt/设置/server.properties" <代码>,,,,布尔fileFlag=Files.exists (Paths.get (filePath)); <代码>,,,,布尔结果=envFlag | | fileFlag; <代码>,,,,如果结果(!){ <代码>,,,,,,System.out.printf(“请正确配置阿波罗,设置环境变量ENV=dev或者在文件% s中写入ENV=dev \ n", filePath); <代码>,,,代码,} <代码>,,,代码,返回结果; <代码>,代码,} <代码>
<代码>}
  

运行效果如下图所示:

癹ava使用springboot-starter启动检查配置是否满足要求"

其他检查代码因不好脱敏,就先不发出来了,但思路都是一致的,大家也可以写一写尝试下

java使用springboot-starter启动检查配置是否满足要求