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);
}
}
配置文件读取类:
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);
}
}
相关文章推荐
- java中Property类配置文件,反射创建实例并调用这个类的方法
- 实现poi方式生成excel文件和web类根据路径生成java实例的反射技术的springmvc方法的方法
- [Java 15 反射机制 ] 工厂模式与 properties 读取配置文件
- Java反射通过配置文件来运行想要运行的方法
- 09_通过读取配置文件的方式来使用反射完成对实例对象方法调用
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- java通过反射 寻找配置文件 调用方法
- java使用dom4j解析xml配置文件实现抽象工厂反射示例
- Java中工厂、配置文件和反射学习
- 300.33通过读取配置文件方式来使用反射完成实例对象调用方法
- Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)
- java反射调用配置文件构造类对象,使用其方法
- java反射调用配置文件构造类对象,使用其方法
- 工厂方法+配置文件+反射
- Java中工厂、配置文件和反射学习
- 设计模式之工厂方法配置文件与反射
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- java一般加载配置文件时常用的方法
- 使用java反射中的getMethod,invoke方法调用对象方法的实例