我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot开发启动时配置校验的方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot开发启动时配置校验的方法是什么

这篇文章主要介绍“SpringBoot开发启动时配置校验的方法是什么”,在日常操作中,相信很多人在SpringBoot开发启动时配置校验的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot开发启动时配置校验的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

概述

在项目开发过程中,某个功能需要依赖在配置文件中配置的参数。这时候就可能出现下面这种现象问题:

有时候经常出现项目启动了,等到使用某个功能组件的时候出现异常,提示参数未配置或者bean注入失败。

有没有一种方法在项目启动时就对参数进行校验而不是在实际使用的时候再抛出提示呢?

答案就是使用Spring提供的Java Validation功能,简单实用。

增加启动校验

只需要在我们创建的配置Properties类增加Validation相关配置即可

@Validated@Data@ConfigurationProperties(prefix = "app")@Componentpublic class AppConfigProperties {    @NotEmpty(message = "配置文件配置必须要配置[app.id]属性")    private String id;}

上面的配置就会校验我们在 application.yml中有没有配置 app.id参数。如果在配置文件中没有该配置,项目启动就会失败,并抛出校验异常。

在使用配置文件校验时,必须使用@configurationproperties注解,@value不支持该注解。

在需要使用app.id的时候注入配置类即可:

@Autowiredprivate AppConfigProperties appConfigProperties;

这样就可以实现我们想要的效果,如下图:

SpringBoot开发启动时配置校验的方法是什么 

效果

 校验类型

校验规则规则说明
@Null限制只能为null
@NotNull限制必须不为null
@AssertFalse限制必须为false
@AssertTrue限制必须为true
@DecimalMax(value)限制必须为一个不大于指定值的数字
@DecimalMin(value)限制必须为一个不小于指定值的数字
@Digits(integer,fraction)限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction
@Future限制必须是一个将来的日期
@Max(value)限制必须为一个不大于指定值的数字
@Min(value)限制必须为一个不小于指定值的数字
@Past验证注解的元素值(日期类型)比当前时间早
@Pattern(value)限制必须符合指定的正则表达式
@Size(max,min)限制字符长度必须在min到max之间
@NotEmpty验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@NotBlank验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格
@Email验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式

Validation 支持如下几种校验,可以满足基本的业务逻辑,当然如果还是满足不了你的业务逻辑,可以选择定制校验规则。

定制校验逻辑

定义校验逻辑规则,实现 org.springframework.validation.Validator

public class ConfigPropertiesValidator implements Validator {    @Override    public boolean supports(Class<?> aClass) {        return AppConfigProperties.class.isAssignableFrom(aClass);    }     @Override    public void validate(Object o, Errors errors) {        AppConfigProperties config = (AppConfigProperties) o;        if(StringUtils.isEmpty(config.getId())){            errors.rejectValue("id", "app.id.empty", "[app.id] 属性必须要在配置文件配置");        }else if (config.getId().length() < 5) {            errors.rejectValue("id", "app.id.short", "[app.id] 属性的长度必须不能小于5");        }    }}

使用自定义校验规则就不需要在使用原生的@NotEmpty了,将其删除

@Validated@Data@ConfigurationProperties(prefix = "app")@Componentpublic class AppConfigProperties {//    @NotEmpty(message = "配置文件配置必须要配置[app.id]属性")    private String id;}

注入自定义校验规则

@Beanpublic  ConfigPropertiesValidator configurationPropertiesValidator(){  return new ConfigPropertiesValidator();}

注意:这里bean的方法名必须要 configurationPropertiesValidator,否则启动的时候不会执行该校验

修改app.id配置,观察启动情况

SpringBoot开发启动时配置校验的方法是什么

测试验证结果

错误信息即为我们自定义校验的结果。

到此,关于“SpringBoot开发启动时配置校验的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot开发启动时配置校验的方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot开发启动时配置校验的方法是什么

这篇文章主要介绍“SpringBoot开发启动时配置校验的方法是什么”,在日常操作中,相信很多人在SpringBoot开发启动时配置校验的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringB
2023-06-25

idea springboot启动配置的方法是什么

Spring Boot的启动配置有两种方法:1. 使用application.properties文件:可以在src/main/resources目录下创建application.properties文件,并在该文件中配置启动参数,例如:`
2023-09-21

springboot接口权限校验的方法是什么

Spring Boot中可以使用Spring Security来进行接口权限校验。以下是一种常见的方法来实现接口权限校验:1. 添加依赖:在`pom.xml`文件中添加Spring Security的依赖。```xmlorg.springf
2023-08-14

springboot配置开发和测试环境并添加启动路径方式方法是什么

本篇内容主要讲解“springboot配置开发和测试环境并添加启动路径方式方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot配置开发和测试环境并添加启动路径方式方法是什
2023-06-25

SpringBoot集成Validation参数校验的方法是什么

这篇“SpringBoot集成Validation参数校验的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spri
2023-06-26

springboot动态刷新配置的方法是什么

在Spring Boot中,可以使用Spring Cloud Config来实现动态刷新配置。下面是一种常见的方法:1. 首先,在Spring Boot项目的pom.xml文件中添加以下依赖:```xmlorg.springframewor
2023-08-15

oracle启动监听配置的方法是什么

Oracle启动监听的配置方法一般有两种:使用Oracle Net Configuration Assistant(NetCA):在Oracle安装目录中找到NetCA工具,然后运行该工具。在工具中选择“监听器配置”选项,然后根据向导步骤配
oracle启动监听配置的方法是什么
2024-04-09

springboot jpa配置的方法是什么

在Spring Boot中配置JPA的方法有以下几种:1. 使用application.properties文件:在application.properties文件中配置JPA相关的属性,如数据库连接信息、实体类扫描路径、数据库方言等。示例
2023-09-21

Springboot项目启动时动态指定环境的方法是什么

本篇内容介绍了“Springboot项目启动时动态指定环境的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Springboot 启
2023-07-06

springboot配置日志的方法是什么

在Spring Boot中配置日志有以下几种方法:1. 使用application.properties或application.yml文件进行配置。可以在配置文件中使用`logging.level.=`来设置不同日志级别,如`loggin
2023-08-09

mybatis在springboot配置的方法是什么

在Spring Boot中配置MyBatis,可以按照以下步骤进行操作:1. 添加MyBatis和相关依赖:在pom.xml文件中添加MyBatis和相关依赖,例如mybatis-spring-boot-starter。2. 创建数据库连接
2023-10-21

nginx指定配置文件启动的方法是什么

要指定配置文件启动Nginx,可以使用以下命令:```nginx -c /path/to/nginx.conf```其中,`/path/to/nginx.conf`是你想要使用的配置文件的路径。
2023-10-08

springboot省去web.xml配置的方法是什么

这篇文章主要讲解了“springboot省去web.xml配置的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot省去web.xml配置的方法是什么”吧!概述最开始
2023-06-05

springboot redis集群配置的方法是什么

要配置Spring Boot中的Redis集群,可以使用以下方法:1. 添加Redis依赖项:在`pom.xml`文件中添加Spring Boot的Redis依赖项,例如:```xmlorg.springframework.bootspri
2023-09-16

ios开发云服务器配置的方法是什么

在云服务器上部署iOS项目本教程提供了在云服务器上部署iOS项目的完整指南,涵盖创建实例、配置密钥、安装Web服务器、配置PHP、安装MySQL、建立PHPMySQL连接、测试Web服务器和安全注意事项。通过遵循这些步骤,您可以成功部署您的项目,并确保其安全性和性能。
ios开发云服务器配置的方法是什么
2024-04-13

ios开发云服务器配置的方法是什么

iOS开发中配置云服务器的方法主要有以下几种:1. 使用第三方云服务提供商:这些云服务提供商提供了各种云计算服务,包括虚拟机、容器、数据库等,可以根据项目需求选择适合的服务进行配置和部署。2. 使用自建服务器:如果有自己的服务器资源,可以使
2023-09-25

android开机自启动的方法是什么

Android开机自启动的方法有以下几种:1. 使用BroadcastReceiver:创建一个继承自BroadcastReceiver的类,在类中重写onReceive方法,在onReceive方法中处理开机自启动的逻辑,并在Androi
2023-08-12

springboot负载均衡配置的方法是什么

在Spring Boot中配置负载均衡有以下几种方法:使用Ribbon实现负载均衡:Ribbon是Netflix开发的一个负载均衡器,可以集成到Spring Cloud中。通过在pom.xml文件中添加spring-cloud-starte
2023-10-23

envoy的动态配置方法是什么

Envoy的动态配置方法是通过使用API管理平台或命令行工具来更新Envoy配置。Envoy支持多种配置更新方法,包括:使用Envoy的管理API:Envoy提供了一组RESTful API来管理其配置。可以使用这些API来动态更改Envo
2023-10-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录