您的位置:首页 > 编程语言 > Java开发

Java反射 配置文件 工厂方法综合实例

2012-07-12 11:43 549 查看
Java反射配置文件工厂方法综合实例

配置文件读取类:

package hyhref;

import java.io.File;

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

importjavax.xml.soap.Node;

import org.w3c.dom.Document;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;

publicclassReadXml
{

publicstatic
Object GetXmlObject(){

Objecto=null;

DocumentBuilderFactory
factory=DocumentBuilderFactory.newInstance();//单例模式

try
{

DocumentBuilderbuilder=factory.newDocumentBuilder();

Documentdoc=builder.parse(new
File("src\\hyhref\\NewFile.xml")); //加载文档(具体的目录请自行修改)

NodeListn1=doc.getElementsByTagName("node"); //得到文档下的
node节点

org.w3c.dom.Nodeclassnode=
n1.item(0).getFirstChild();//获取node中的第一个节点

Stringname=classnode.getNodeValue();
//获取节点的数据

Class<?>opera=Class.forName("hyhref."+name); //从配置文件加载类

o=opera.newInstance();
//实例化

}catch(ParserConfigurationException
e) {

//TODO
Auto-generated catch block

e.printStackTrace();

}catch(SAXException
e) {

//TODO
Auto-generated catch block

e.printStackTrace();

}catch(IOException
e) {

//TODO
Auto-generated catch block

e.printStackTrace();

}

finally{

return
o;


}

}

}

配置文件:

<?xmlversion="1.0"encoding="UTF-8"?>

<Result>

<node>IOperationSub</node>

</Result>

工厂方法源代码:

http://www.worlduc.com/blog.aspx?bid=4023675

主类:

publicstaticvoidmain(String[]
args) {

//TODO
Auto-generated method stub

try
{

IOperation factory=(IOperation)ReadXml.GetXmlObject();//从配置文件动态加载一个类

Operation oper=factory.CreateOperation();

oper.numA=100;

oper.numB=200;

System.out.println(oper.GetResult());

}catch(Throwable
e) {

System.err.println(e);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐