1.@NotBlank@NotNull@NotEmpty不生效的原因

三个注释都是被标记的属性不能为空。那么不生效的原因是因为三者是有区别的,使用错误就会导致验证不会生效。

有可能是@Validated没写

有可能是没添加依赖

@NotNull @NotEmpty @NotBlank 区别

@NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull 用在八种基本类型上{ byte、shor、int、long、float、double、boolean、char}

2.多环境切换

我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本

例如:

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

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

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

如果想要启动这些配置文件,需要通过一个配置来选择需要激活的环境:

  1. spring.profiles.active=dev

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

配置文件的优先级:

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

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

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

yaml的多文档块

  1. server:
  2. port: 8081
  3. #选择要激活那个环境块
  4. spring:
  5. profiles:
  6. active: prod
  7. ---
  8. server:
  9. port: 8083
  10. spring:
  11. profiles: dev #配置环境的名称
  12. ---
  13. server:
  14. port: 8084
  15. spring:
  16. profiles: prod #配置环境的名称