Properties与XML
什么是硬编码
写死在java程序中,并经常改变
为何使用配置文件
提高程序的灵活性
什么是硬编码
代码写死,但是内容经常变改动,这种程序就叫做硬编码,通常这种需要经常修改得代码都会写进配置文档里
Properties
存储key=value结构的简单数据
使用:
- 使用井号代表注释
- 存储数据以key=value,如果需要多个属性,另起一行
- 不能使用"",因为它本是字符串
- 不需要使用空格
Properties使用可Map的结构,所以可以使用get的方法
常用的两个方法
方法 | 作业 |
---|---|
public void load(InputStrem is) | 加载配置文件内容 |
public String getProperty(String key) | 获取属性值 |
xml
XML(eXtensible Markup Language)是一种可扩展的标记语言
<?xml version="1.0" encoding="UTF-8">
version:版本
encoding:编码格式(文档内容的编码格式,文件的编码格式)
标签/元素(Element)
注:标签要有开始标签也要有结束标签,没有子标签可以使用<标签名/>结束
xml结构
通常把xml文档加载到内存中用Document对象来描述整个文档
所有的标签使用Element对象描述
标签的属性用Attr来表述
标签中的内容使用Text来表述
Document对象的获取
DocumentBuilder:Document构建者
Document parse(File f); 获得Document对象
DocumentBuilderFacotry:工厂设计模式
public static DocumentBuilderFactory newInstance(); 获取factory对象
public abstract DocumentBuilder new DocumentBuilder(); 获得build对象
DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(文件);
Document对象
Element getDocumentElement(); 获得根节点
NodeList getElementByTagName(String name); 获得节点内指定的标签列表
Node对象
String getTextContent(); 获得节点的内容
void setTextContent(String content); 设置节点的文本内容
xml异常
SAX/dom4j:SAXParseException错误定位到xml中
反射的优势
- 反射能提高程序的灵活性和扩展性
- 降低耦合性
- 减少硬编码
缺点:
- 性能问题
- 代码复杂
反射是框架的基石