【Spring boot】06-后端数据校验

spring boot JSR303数据校验:

在前端的input 标签中 type可以指定数据类型,比如Email类型,则文本框中只能输入Email地址。

在后端也有数据校验:

JSR303叫做Bean Validation。Bean Validation 为 JavaBean 验证定义了相应的元数据模型和 API。

JSR303依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
  • Person类

    @Component
    @ConfigurationProperties(prefix = "person")
    @Validated  //数据校验
    public class Person {
        private String name;
        private Integer age;
        private Date birth;
        private Boolean sex;
        @Email  //邮箱格式校验 
        private String email;
        private Map<String,Object> map;
        private List<Object> hobbies;
        private Dog dog;
    }
    
  • application.yaml

    person:
      name: 张三
      age: 19
      birth: 2000/11/21
      sex: true
      #邮件
      email: aaa
      map: {k1: v1, k2: v2}
      hobbies:
        - code
        - music
        - sport
      dog:
        name: 旺财
        sex:age: 3
    

如果email不是邮箱格式,则会报错!

jsr303:

在这里插入图片描述

Hibernate Validator 附加的 constraint

在这里插入图片描述

源码位置:

在这里插入图片描述

配置文件的位置:

  • 配置文件可以再根目录下创建config文件夹,在该文件夹下写application.yaml (优先级最高)

  • 可以再resources下创建config文件夹,在该文件夹下写application.yaml(优先级第二)

  • 还可以在resources下直接写application.yaml(优先级最低)

多环境开发:

  • 比如开发环境、测试环境等等

默认的配置文件:application.properties

#多环境配置,可以使用↓↓↓来选择环境
spring.profiles.active=dev

测试环境:application-test.properties

server.prot=8082

开发环境:application-dev.properties

server.prot=8083

使用yaml写多环境:

  • application.yml

    server:
      port: 8081
    
    #指定开发环境
    spring:
      profiles:
        active: test
        
    ---
    
    server:
      port: 8082
      
    #环境名称
    spring:
      config:
        activate:
          on-profile: dev
    
    ---
    
    server:
      port: 8083
      
    #环境名
    spring:
      config:
        activate:
          on-profile: test
    
    • 使用---分隔不同的环境

sprint boot配置官方文档

spring boot自动配置原理:

  • XXXAutoConfiguration 自动配置类
  • XXXProperties: 配置文件的相关默认属性内容

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值