springboot 配置文件 yaml

50 篇文章 0 订阅
13 篇文章 0 订阅

SpringBoot配置-yaml基本语法**

YAML全称是YAML Ain’t Markup Language.
YAML是一种直观的能够被电脑识别的的数据数据序列化格式,
并且容易被人类阅读,容易和脚本语言交互的,
可以被支持YAML的不同的编程语言程序导入,
比如: C/C++, Ruby, Python, Java, Perl, C#, PHP,等.
YML文件是以数据为核心的,比传统的xml方式更加简洁。
YAML文件的扩展名可以使用.yml或者yaml.

  • 大小写敏感
  • 数据值前边必须有空格,作为分隔符
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格(各个系统 Tab对应的 空格数目可能不同,导致层次混乱)。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • ‘’#" 表示注释,从这个字符一直到行尾,都会被解析器忽略。

SpringBoot配置-yaml数据格式**

对象(map):键值对的集合。
行内写法:就是不分行,将数据都写在 一行。

person:  
   name: zhangsan
# 行内写法
person: {name: zhangsan}

数组:一组按次序排列的值
数组 的 横杠 后面 也要加空格 才能识别这行的数据

address:
  - beijing
  - shanghai
# 行内写法
address: [beijing,shanghai]

纯量:单个的、不可再分的值
这里的纯量 就是java里的常量
识别转义字符 就是将 \n 打印出来不会换行
忽略转义字符 就是将 数据 换行

msg1: 'hello \n world'  # 单引忽略转义字符
msg2: "hello \n world"  # 双引识别转义字符

参数引用

name: lisi
person:
  name: ${name} # 引用上边定义的name值

${name} 表示 这里使用上面定义的 name: lisi 的值 lisi

读取、获取 springboot 配置文件的内容

读取 方式:

  1. 使用 注解 @Value 读取
  2. 使用 对象 Enviromment 环境的意思
  3. @ConfigurationProperties 注解 读取 这个是 用来 映射 对象 与 配置文件的内容 形成映射关系

练习代码

// 获取配置文件中 数据的值
 @Value("${name}")
 private String name;

    @Value("${person.name}")
    private String name2;

    @Value("${person.age}")
    private String age;

    @RequestMapping("/h2")
    public  String he(){

        System.out.println(name);
        System.out.println(name2);
        System.out.println(age);

        return "洛天依";
    }
<!--这是 springboot配置文件的处理器
     加了这个依赖 在springboot的配置文件里 会出现提示信息
      有了提示信息 才会方便
      记住 配置文件 最好留一个,否则它会只提示优先级最高的那个文件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

用java代码获取 springboot配置文件的数据

@RestController
public class HelloController {

// 获取配置文件中 数据的值
 @Value("${name}")
 private String name;

    @Value("${person.name}")
    private String name2;

    @Value("${person.age}")
    private String age;

//注意:这里是spring包里的
    @Autowired
    private Environment env;

@Autowired
private Person person;

    @RequestMapping("/h2")
    public  String he(){

        System.out.println(name);
        System.out.println(name2);
        System.out.println(age);
        System.out.println(env.getProperty("person.name"));


        return "洛天依";
    }

}

实体类 绑定springboot配置文件中的对象信息

@Component
/* @ConfigurationProperties 连接springboot配置文件
 *  与 对应的对象的成员名称绑定
  *  prefix="person" 添加前缀 与实体类的类型要一致
   *  加前缀 是为了表示 实体类成员与配置文件的数据 一一对应*/
@ConfigurationProperties(prefix="person")
public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

普希托夫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值