配置文件的种类
一、两种配置文件的区别
1、从结构上来说:
.xml文件主要是树形结构,与html文件类似
.properties文件主要是以key-value键值对的形式存在。
2、从灵活程度上来说:
.xml格式的文件要比.properties格式的文件更灵活一些
.properties格式的文件已键值对形式存在,主要就是赋值,而且只能赋值,不能够进行其他的操作。
.xml格式的文件可以有多种操作方法,例如添加一个属性,或者做一些其他的定义等。
3、从使用便捷程度来说:
.properties格式的文件要比.xml文件配置起来简单一些。
配置.properties只需要简单的getProperty(key)方法或者setProperty(key,value)方法就可以读取或者写入内容;
配置.xml文件的时候通常要查看文档,因为配置比较繁琐,花费时间长才可以配置完整。
4、从应用程度上来说:
.properties文件比较适合于小型简单的项目。
.xml文件适合大型复杂的项目,因为它比较灵活。
//实现形式为键值对
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db1
username=root
password=root
<databases>
<database id="mysql">
<driver>com.mysql.jdbc.Driver</driver>
<url>jdbc:mysql://localhost:3306/db1</url>
<username>root</username>
<password>root</password>
</database>
<database id="oracle">
<driver>com.oracle.jdbc.Driver</driver>
<url>jdbc:oracle://localhost:3306/db2</url>
<username>root</username>
<password>123</password>
</database>
</databases>
二、xml文件的约束(properties文件只能写成键值对形式可以看成是一种约束吧)
原因:在XML技术里,可以通过约束文档,来约束XML文档的书写规范,这称之为XML约束。
常见的xml约束有:DTD、Schema
1.DTD约束
引入方式:
方式一:
<!DOCTYPE 根标签 [约束文档的内容]>
方式二:(也就是下面代码中的引入方式)
<!DOCTYPE 根标签 SYSTEM "约束文档的文件名">
方式三:引入网络端的某个约束文档
<!DOCTYPE 根标签 PUBLIC "约束文档的文件名" "约束文档的URL">
student.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE students SYSTEM "D:\idea\Idea-project\RAO\src\Xml\dtd\student.dtd">
<students>
<student number="a001" id="a1">
<name class="a01">tom</name>
<age>18</age>
<sex>男</sex>
</student>
<student number="a002" id="a2">
<name class="a02">jerry</name>
<age>19</age>
<sex>女</sex>
</student>
</students>
student.dtd
<!ELEMENT students (student*) >
<!ELEMENT student (name,age,sex)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ATTLIST student number ID #REQUIRED>
<!ATTLIST student id ID #REQUIRED>
<!ATTLIST