09_05_第七阶段:微服务开发||01-SpringBoot||04SpringBoot配置【观看狂神随笔】

SpringBoot配置

一、yaml重点用途:可以直接给实体类赋值

  • 对象的值配置到yaml中,我们的java类是空的
如何用yaml配置文件给实体类注入值
  1. 现在yaml中写好要注入的值

    • 在这里插入图片描述
  2. 在实体类上用@ConfigurationProperties注解

    • 用这个注解不做一个配置会爆红【不影响程序的运行】

    • 解决方法

      在这里插入图片描述

      • 官方文档中的依赖导入即可

      • <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        
  3. @ConfigurationProperties():中加上prefix=“yaml文件中的类名”

    • 通过这个参数将实体类和配置类绑定起来,绑定起来就有注入的值了

    • 类名小写

    • prefix是前缀意思

      • @Component
        @ConfigurationProperties(prefix = "person")
        public class Person {
        
    yaml配置文件中的一些特殊语法
    • person:
      	name: ${person.hello:hello}_kami	//当没有hello值时候就执行后面的_kami,有hello值就是该值
      	age: ${random.int}
      	hello: kk
      	
      //结果就是Person{name='kk_kami', age=1568427848}
      
      • ${random.int}就是一些随机占位符
      • 是spring的EL表达式
    用yaml方式配置,不在用@Value方式的原因

在这里插入图片描述

  • cp只需要写一次即可,value则需要每个字段都添加

  • 松散绑定:这个什么意思呢?比如我们在yaml中写的last-name,这个和lastName是一样的。-后面跟着的字母默认是大写的。这就是松散绑定。

  • JSR303数据校验:这个就是我们可以在字段是增加一层过滤器验证,可以保证数据的合法性

    • @Validated //数据校验——开启这个验证支持才能使用如下的验证

      • 引入依赖

      • <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        
      • 在这里插入图片描述

  • 复杂类型封装:yaml中可以封装对象,使用@Value就不支持

总结
  • 配置yaml和配置properties都可以获取到值,强烈推荐yaml
  • 如果我们在某个业务中,只需要获取配置文件中的某个值,可以使用一下@Value
  • 如果说,我们专门编写了一个JavaBean来和配置文件进行映射,就直接使用@configurantionProperties

二、Springboot的多环境配置【重点】:可以选择激活呢一个配置文件

properties方式
  • 先创建3个配置环境,名字用-来替换

    • application.properties
    • application-dev.properties//一般用来配置正式版
    • application-test.properties//一般用来配置测试版
  • spring.profiles.active = dev	//需要执行那个配置文件,就换-后面的名字即可
    
yaml方式
  • 使用—三个杠来分块

  • server:
      port: 8081
    #需要执行那个配置文件,就换下面include后面的名字即可
    spring:
      profiles:
        active: test
    
    ---
    server:
      port: 8082
    # 下面表示设置配置文件的名称为dev
    spring:
      profiles:
        include: dev
    ---
    server:
      port: 8083
    # 下面表示设置配置文件的名称为test
    spring:
      profiles:
        include: test
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂野小白兔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值