配置通常存储在属性或XML文件中,该属性或XML文件放置在应用程序的运行时类路径中或在指定为VM参数的固定位置。可以使用java.util.Properties
API 访问属性文件。可以使用JAXP或JAXB解析XML文件。
jdbc.url = jdbc:MysqL:// localhost:3306 / javabase
jdbc.driver = com.MysqL.jdbc.Driver
jdbc.username = Java
jdbc.password = d $ 7hF_r!9Y
假定它已命名config.properties
并且已放置在类路径的根目录中(或它的根路径已添加到类路径中),以下是从类路径中加载它的方法:
Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
String url = properties.getProperty("jdbc.url");
String driver = properties.getProperty("jdbc.driver");
String username = properties.getProperty("jdbc.username");
String password = properties.getProperty("jdbc.password");
// ...
这是XML文件的示例:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<jdbc>
<url>jdbc:MysqL://localhost:3306/javabase</url>
<driver>com.MysqL.jdbc.Driver</driver>
<username>java</username>
<password>d$7hF_r!9Y</password>
</jdbc>
</config>
假设已调用config.xml
它并将其放置在类路径的根目录中,下面是一个示例,说明如何通过JAXP加载它:
InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.xml");
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(input));
XPath xpath = XPathFactory.newInstance().newXPath();
String url = (String) xpath.compile("//config//jdbc//url").evaluate(document, XPathConstants.STRING);
String driver = (String) xpath.compile("//config//jdbc//driver").evaluate(document, XPathConstants.STRING);
String username = (String) xpath.compile("//config//jdbc//username").evaluate(document, XPathConstants.STRING);
String password = (String) xpath.compile("//config//jdbc//password").evaluate(document, XPathConstants.STRING);
// ...