📄 databaseconfig.java
字号:
// -------------------------------------------------------------------------
// Copyright (c) 2000-2004 Ufinity. All Rights Reserved.
//
// This software is the confidential and proprietary information of
// Ufinity
//
// Original author:Administrator
//
// -------------------------------------------------------------------------
// UFINITY MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
// THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
// PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UFINITY SHALL NOT BE
// LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
// MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
//
// THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE
// CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE
// PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT
// NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE
// SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE
// SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE
// PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). UFINITY
// SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR
// HIGH RISK ACTIVITIES.
// -------------------------------------------------------------------------
package com.ufinity.jdom;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
/**
* @author WenQiang Wu
*
* @time 4:18:08 PM Sep 22, 2008
*/
public class DataBaseConfig {
private static DataBaseConfig dataBaseConfig = null;
// define read file's name
private static final String DATABASE_CONFIG_FILE = "database-config.xml";
private Element rootElt;
private DataBaseConfig() {
readDataBaseConfig();
//intJdbcInfo();
initBean();
}
// instance this class
public static DataBaseConfig getInstance() {
if (null == dataBaseConfig) {
dataBaseConfig = new DataBaseConfig();
}
return dataBaseConfig;
}
public void readDataBaseConfig() {
SAXBuilder saBuilder = new SAXBuilder();
try {
/**
* get read file's all elements
*/
Document document = saBuilder.build(Thread.currentThread()
.getContextClassLoader().getResourceAsStream(
DATABASE_CONFIG_FILE));
/**
* get the first element for read file
*/
this.rootElt = document.getRootElement();
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* get one element
*/
private void initJdbcInfo() {
try {
String[] dataBaseConfig = new String[] {
"//jdbc-info/class-driver-name", "//jdbc-info/url",
"//jdbc-info/user-name", "//jdbc-info/password" };
if (null != dataBaseConfig && dataBaseConfig.length > 0) {
for (String databaseString : dataBaseConfig) {
Element driverClassNameElt = (Element) XPath
.selectSingleNode(rootElt, databaseString);
String driverClassName = driverClassNameElt.getText();
System.out.println(driverClassName);
}
}
} catch (JDOMException e) {
e.printStackTrace();
}
}
private void initBean() {
String beanConfigString = "//beans/bean";
try {
List<?> listBeans = XPath.selectNodes(rootElt, beanConfigString);
System.out.println(listBeans.size());
for(Iterator<?> iterator = listBeans.iterator(); iterator.hasNext();) {
Element beanElt = (Element)iterator.next();
String id = beanElt.getAttributeValue("id");
String className = beanElt.getAttributeValue("class");
System.out.println("id :" + id + " ,className: " + className);
}
} catch (JDOMException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DataBaseConfig.getInstance();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -