码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JSR303数据校验及多环境切换


    目录

    一、JSR简介

    1.JSR-303 

    2.Bean Validation 中内置的 constraint 

    3. Hibernate Validator 附加的 constraint

    二、@validated

    ⭐@Email注解报错

    三、官方外部配置文件说明参考文档

    四、多环境配置

    ⚪测试properties配置文件的优先级及多模块化

     ⚪测试yaml配置文件的优先级及多模块化


    一、JSR简介

    JSR-303 - 简书 (jianshu.com)

    JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。

    1.JSR-303 

    JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 的实现,除此之外还有一些附加的 constraint。

    2.Bean Validation 中内置的 constraint 

    3. Hibernate Validator 附加的 constraint

    二、@validated

    Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。

    1. @Component
    2. @ConfigurationProperties(prefix = "person")
    3. @Validated //数据校验
    4. public class Person{
    5. @Email() //name只能支持Email格式
    6. private String name;

    此时,若name不是Email格式

    运行结果: 

    也可以自定义报错内容

    ⭐@Email注解报错

    需要添加validation启动器

    1. <dependency>
    2. <groupId>org.springframework.bootgroupId>
    3. <artifactId>spring-boot-starter-validationartifactId>
    4. dependency>

    三、官方外部配置文件说明参考文档

    四、多环境配置

    profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境

    springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件:

    优先级1:项目路径下的config文件夹配置文件优先级2:项目路径下配置文件优先级3:资源路径下的config文件夹配置文件优先级4:资源路径下配置文件

    优先级由高到底,高优先级的配置会覆盖低优先级的配置; 

    SpringBoot会从这四个位置全部加载主配置文件;互补配置;

    ⚪测试properties配置文件的优先级及多模块化

    application-test.properties 代表测试环境配置

    application-dev.properties 代表开发环境配置

    但是Springboot并不会直接启动这些配置文件,它默认使用application.properties主配置文件;

    我们需要通过一个配置来选择需要激活的环境:

    运行结果 

     ⚪测试yaml配置文件的优先级及多模块化

    和properties配置文件中一样,但是使用yml去实现不需要创建多个配置文件,更加方便了 !

  • 相关阅读:
    http接口测试—自动化测试框架设计
    【CSS】grid 布局一行自动填充,每行最大限定px
    含文档+PPT+源码等]精品基于SpringCloud实现的商品服务系统-微服务毕业设计项目源码-分布式毕设项目[包运行成功]
    老黄自己卷自己!GPU要一年更新一代!预告新动作:AI工厂将吞噬一切
    一行代码解决WINFORM因为系统放大导致的布局混乱
    面经-虚拟机-类加载
    自动控制原理9.2---线性系统的可控性与可观测性(下)
    线程的创建方式
    实战:用激活函数、Keras框架解决分类问题
    【SNP 喜讯】贝里精英集团SAP S/4 HANA PCE系统成功上线
  • 原文地址:https://blog.csdn.net/m0_52982868/article/details/126479534
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号