上一章properties作为配置文件的内容好像还没讲?
properties相对于XML的缺点:如果要运行多个方法,只能在properties配置文件里等号后面加逗号(或指定符号)隔开,然后再加值,这样累加下去会导致阅读效果不好
XML:
W3C在线网址:
https://www.w3school.com.cn
xml本身就是一个文件,本身可以用来存储数据,另外A系统传给B系统,B系统以同样的方式XML格式解析即可获取里面的数据
XML的规则:
语法规则:
一般在模块下创建Directory文件夹,命名为XML,专门用来存储XML文件
然后再右键创建File,.xml为后缀名存储
特殊字符:打开w3c网址,点击xml→点击左边课程表xml→点击xml语法→往下拉即可找到
测试编译是否正确,除了idea本身报错之外也可以打开浏览器,但前提要安装
也可以在这里打开
DOM解析思想:
用来解析xml文件
类似于反射的原理将xml分成各个部分,将每个部分看成对象,然后再获取数据
一层一层进入一层一层获取
绿色:Document对象(整个xml文档)
下面三个共同继承一个父类Node对象
蓝色:Element对象(所有标签)
红色:Attribute对象(属性,id是属性,因为他是尖括号<>内定义的,而id的值并不是一个对象,我们可以通过id直接获取到,它只是普通的属性值而已)
紫色:Text对象 (所有文本内容)
解析:
dom4j下载地址https://dom4j.github.io/
下载dom4j-1.6.1.zip,下载解压完之后
将jar包加载到idea中
docs找到index.html打开后点击左边的Quik start 然后可以看到获取xml document对象的方法
注意:路径有两种,一种是\\这种分隔一种是.分隔,要注意区分
在获取数组数量时,出现警告可以不管
elements返回的是标签集合,没有s返回的是子标签,空参代表返回所有标签类型,写了String的代表返回指定的标签类型
集合的泛型 要加上泛型 Element,否则遍历时类型会时Object,无法调用方法
DTD:
用来规范xml的范围(限定只能使用哪些标签)
定义方式:
xml的限定dtd中如何编写标签的属性值呢?下面有答案
三种引入方式:
1. 上图为本地引入的dtd
2.在xml文件内部引入
3.引入网络dtd(后期会再学)
dtd的元素的语法:
简单元素一般都是用PCDATA
dtd属性的语法:
Schema:
也是xml的约束文件
注意:引入要在跟标签的尖括号内引入,且xmlns里的网址和之前的不一样多了 -instance 代表被别人约束
还只能定义在student标签内然后在最后的 sequence和complexType之间
注解:(对程序进行标注和解释,但同时可以检测语法是否正确)
properties:类型简单,格式不方便阅读
xml:类型多,阅读方便
注解:当xml内容过多也容易导致臃肿,可以直接用注解,简洁方便
检测语法是否正确:例如重写,不写@Override ,也是重写,但并不会检测语法是否正确(属于注解比较重要的一个功能)
过时的作用是提示调用者:不推荐使用该方法,但仍然可以使用(即现在都用智能手机,你用老年机,也能使用,但不推荐)。另外一个是jdk升级后的过渡使用
压制警告:源码内有个字符串数组,即可以写需要压制的类型,可以压制多种类型的警告
自定义注解:
value的作用是什么?
元注解:(用的比较少)
修饰注解的注解
自定义注解和元注解这两个视频还没看
单元测试:
作用:写完一部分代码就可以测试,不用等全部写完
第二条怎么解决??
junit的下载流程:
junit官网https://junit.org/junit5/
点击右上角的JUnit4
点击左下角的下载和安装
下载junit.jar和hamcrest-core.jar(junit4.12以下的无需下载hamcrest-core.jar,但现在一般都要)
下载并导入idea即可
使用时,test必须存在,before和after顺序没有要求。
junit 单元测试报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribinghttp://t.csdn.cn/tSeW7