一、硬编码
硬编码是我们在开发过程中可能需要改变的代码,例如数据库名称,数据库帐号和密码等,这种我们称之为硬编码。
二、解决硬编码之properties文件
1.properties配置文件:
①建立一个目录,名为resource
②将文件改为Resource Root目录
③在目录中创建配置文件,以.properties结尾即可
它读取的格式:key=value的形式来读取里面的内容,所以存储需要严格按照这种格式来存储。
2.解析properties文件,获取文件内的内容
//获取类加载
ClassLoader cl = Thread.currentThread().getContextLoader();
//获取到流
InputStream is = cl.getResourceAsStream("test.properties");
//创建properties对象
Properties p = new Properties();
//加载流里面的properties文件
p.load(is);
//获取信息
Object name = p.get("username");
Object password = p.get("password");
3.补充:
Ⅰ为什么properties文件要放入到资源目录中?
因为放到资源目录中,可以随着字节码文件走,那么我们在操作获取对应的properties文件信息时,传入的路径就可以是相对路径。
Ⅱ获取信息的username、password是配置文件存储信息对应的key,所以返回的值就是对应的vaule
三、解决硬编码之Xml文件
1.Xml配置文件
①Xml是一种文件格式,是一种可扩展标记语言
②文件首行一定要加的内容:
这是为了说明这个文件是xml文件
③xml文档必须包含根元素,该元素是所以其他元素的父元素,xml文档中的元素形成了一颗文档树,这棵树从根部开始,并扩展到树的最底端
2.xnl组成的组件结构
①xml文件:Document
②根元素:Element
③属性:Attribute
④文本:txt
3.获取xml文件中的内容
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<count>
<linkman id = "1">
<name>小土</name>
<email>XC@456.com</email>
<address>中国</address>
<group>Java学院</group>
</linkman>
<linkman id = "2">
<name>小乐</name>
<email>XL@456.com</email>
<address>中国</address>
<group>Test学院</group>
</linkman>
</count>
//1.获取到Document对象
Document d = DocumentBuilderFactory.newInstance().newDocumentBuilder().pare("test.xml");
//2.获取根元素
Element countEl = d.getDocumentElement();
//3.获取到里面的标签元素
Element linkmanEl = (Element)ele.getElementByTagName("linkman").item(1);
Element nameEl = (Element)ele2.getElementByTagName("name").item(0);
//4.获取到元素里面的文本内容
String nameText = ele3.getTextContent();
System.out.println(textContent);//返回的内容是:小乐