xml文件的消亡————yaml文件


前言

提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、yaml是什么?

可以算是一种配置文件把 对标一下xml 在将来springboot的大范围流行 spring公司推荐的配置文件yaml就将成为主流的配置文件
我们使用这个文件能对springboot来进行一些配置 比如 我想要更改端口号
更改默认的服务器 我不想用tomcat了 我想要用其他的 都可以通过这个yaml文件来进行配置。

二、最重要的作用

在springboot里面 如果我需要对一个类进行注入 老方法是我用@Component 声明 然后再用注解来进行赋值 最后自动装配 这个类可以说就是被spring识别到了 直接使用就ok了

但是在springboot里面,我们可以使用yaml文件来进行注入 但是yaml文件对于格式十分的敏感 包括符号的使用 缩进等

yaml文件更强大的地方在于,他可以给我们的实体类直接注入匹配值!
直接在yaml文件里面去写缩进的不同的层级就是表示 “的” 的含义

person:
  name: liujiacheng
  dog:
    name: wangcai
    age : 5

具体步骤

首先你需要有一个pojo类

package com.example.demo.pojo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
这个里要记得注册到spring里面去  用component
@ConfigurationProperties(prefix = "person")
这个  就是让我们的yaml文件和这个进行关联  找到前缀为person的yaml文件内容 
这样就能实现注入
public class Person {
    String name;
    Dog dog;

    public Person() {
    }

    public Person(String name, Dog dog) {
        this.name = name;
        this.dog = dog;
    }

    public String getName() {
        return name;
    }

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

    public Dog getDog() {
        return dog;
    }


        public void setDog(Dog dog) {
            this.dog = dog;  }

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

}

运行结果
在这里插入图片描述

当然 这里是对于实体类来进行注入参数 我们同时也可以对配置类进行注入 不论用哪一种方式 只要能实现注入都是可以的。这里实际上实现的就是一个映射关系 将配置文件里面的内容进行映射 而这个@ConfigurationProperties(prefix = “person”)就是告诉spring找到位置

我们的springboot 还能用yaml来支持 jsr303 校验 虽然我也不知道 这个名字是个啥玩意

具体的是这样的
在这里插入图片描述
更多的jsr303 校验可以上百度里面看一下 实际上就是规范每一个类的值是什么样的格式 url还是email 还是null 都是可以规范的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值