XML

XML

什么是XML?

<?xml version="1.0" encoding="utf-8" ?>老程的自习社https://www.toutiao.com/c/user/70114154003/#mid=1659479667793931
  • XML是被设计用来传输和存储数据的;
  • XML是可扩展标记语言(Extensible Markup Language)
  • XML使用标记语言,类似HMTL,但又所不同,HTML是用来现实数据的
  • XML的设计宗旨是传输数据,而非现实数据
  • XML的标签没有被预定义,意味着,可以自由发挥
  • XML是一种更具有自我描述性;
  • XML是W3C的推荐标准

用途

  • XML把数据与HMTL分离
  • XML简化数据共享
  • XML简化数据共享
  • XML跨平台
  • XML是数据更有应,因为它独立于硬件、软件以及应用程序,通过XML,数据可以提供各种阅读设备使用(平板、语音设备、新闻阅读器)等等

缺点

  • 比专业的DB软件占用更多的空间
  • 有点复杂,解析要写N多的方法
  • 缺少安全保护,数据容易被污染
  • 格式转换的问题

Json


JSON


Json(JavaScript Object Notation)一种轻量级的数据交换格式,已与编写和阅读,也容易及其解析,随着前后端的分离技术普遍的应用,JSON的作用越来越大;

{    "data":{        "name":"老程的自习社",        "url":"https://www.toutiao.com/c/user/70114154003/#mid=1659479667793931"    }}




idea java文件变成 J idea文件类变成了j_jdom编写xml自动缩进

Json层级



特性

  • 键值对的无序集合
  • 值得有序列表

YML

YAML (YAML Ain't a Markup Language)不是一种标记语言,通常以.yml为后缀的文件,一种专门用来写配置文件的语言。可用于如: Java,C/C++, Ruby, Python, Perl, C#, PHP等。

优点

  • 易于阅读,和JSON,XML一样;
  • YML数据在编程语言之间是可以移植的,JSON和XML也一样;
  • YML支持单程处理;
  • YML具有表现力和可扩展性;
toudiao:  name: 老程的自习社  url: https://www.toutiao.com/c/user/70114154003/#mid=1659479667793931




idea java文件变成 J idea文件类变成了j_jdom编写xml自动缩进_02

yml的约定



约定

  • K:V(key:value)键值对, 冒号后面必须有一个空格
  • 使用空格的缩进标识层级的管理,一定要左对齐,空格数目不重要
  • 大小写明显
  • 松散表示,驼峰和其他的在YML中都是可以自动映射,Laocheng,laocheng,lao-cheng都是可以滴

键值关系:通俗点,int、string、bool 、datetime,对象、array、list、set....都是可以滴

字符串转义符:

“N”:N输出成换行

‘N’:N输出N’

N种写法:行内写法,正规写法,不多介绍,百度太多了


在JAVASpringBoot中溜一下代码

在idea中以.YML结尾的文件,输入

toudiao:  name: 老程的自习社  url: https://www.toutiao.com/c/user/70114154003/#mid=1659479667793931

在pom.xml中引入

org.springframework.boot     spring-boot-configuration-processor     true

创建laocheng.class

package com.kevin.demo;import org.springframework.boot.context.properties.ConfigurationProperties;/*将配置文件的每一个属性的值,映射到组件中* @ConfigurationProperties 告诉springboot将本类中的所有属性和配置文件中的相关配置进行绑定* @prefix标注 */@ConfigurationProperties(prefix="toudiao")public class laocheng {    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getUrl() {        return url;    }    public void setUrl(String url) {        this.url = url;    }    private  String name;    private  String url;    @Override    public String toString() {        return "laocheng{" +                "name='" + name + ''' +                ", url='" + url + ''' +                '}';    }}

导入测试依赖包

org.springframework.boot            spring-boot-starter-test            testjunit  junit   4.10

启动,输出结果