关于使用jaxb做配置解析
2010-02-08 18:31
417 查看
jaxb是个好东西,三步解决配置解析问题:
1、首先写好自己的xsd文件(用于规定配置文件的格式)
2、使用xjc命令生成对应的java配置类。
3、使用生成的java类和jaxb工具类来解析配置文件。
例如,我写好一个server.xsd:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
[b]http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.xunlei.com/server/framework/jaxbconfig/"
targetNamespace="http://www.xunlei.com/server/framework/jaxbconfig/">
type="xs:int">
[/b]
在命令行输入命令:
xjc F:/workspace/workspace3.5/server-framework/src/com/xunlei/server/framework/codegen/fish/codegen.xsd -d F:/workspace/workspace3.
4000
5/server-framework/src -p com.xunlei.server.framework.codegen.fish.config。
第一个参数指定xsd文件位置,-d指定生成配置文件类目标位置,-p指定这些类放在哪个package下面。这时在src的com.xunlei.server.framework.codegen.fish.config下面生成了以下类(忽略package-info.java):
Server.java
ServiceRef.java
Property.java
然后使用jaxb来解析server.xml(要符合server.xsd规定的格式):
JAXBContext jc = JAXBContext
.newInstance("com.xunlei.server.framework.codegen.fish.config");
Unmarshaller um = jc.createUnmarshaller();
Object obj = (Object) um.unmarshal(getClass().getResource(
"/com/xunlei/server/framework/codegen/fish/server.xml"));
Server server = ((Server) obj);
这样就得到了配置文件对应的java对象。server就是配置树的根。
看到了吧,使用起来还是非常方便的。
1、首先写好自己的xsd文件(用于规定配置文件的格式)
2、使用xjc命令生成对应的java配置类。
3、使用生成的java类和jaxb工具类来解析配置文件。
例如,我写好一个server.xsd:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
[b]http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.xunlei.com/server/framework/jaxbconfig/"
targetNamespace="http://www.xunlei.com/server/framework/jaxbconfig/">
type="xs:int">
[/b]
在命令行输入命令:
xjc F:/workspace/workspace3.5/server-framework/src/com/xunlei/server/framework/codegen/fish/codegen.xsd -d F:/workspace/workspace3.
4000
5/server-framework/src -p com.xunlei.server.framework.codegen.fish.config。
第一个参数指定xsd文件位置,-d指定生成配置文件类目标位置,-p指定这些类放在哪个package下面。这时在src的com.xunlei.server.framework.codegen.fish.config下面生成了以下类(忽略package-info.java):
Server.java
ServiceRef.java
Property.java
然后使用jaxb来解析server.xml(要符合server.xsd规定的格式):
JAXBContext jc = JAXBContext
.newInstance("com.xunlei.server.framework.codegen.fish.config");
Unmarshaller um = jc.createUnmarshaller();
Object obj = (Object) um.unmarshal(getClass().getResource(
"/com/xunlei/server/framework/codegen/fish/server.xml"));
Server server = ((Server) obj);
这样就得到了配置文件对应的java对象。server就是配置树的根。
看到了吧,使用起来还是非常方便的。
相关文章推荐
- 关于使用spring需要在web.xml配置的内容的解析
- spring与hibernate集成--关于配置文件的最优化使用
- 关于iOS解析XML使用NSXMLParser和GDataXML不得不说的一些事
- Drools入门-----------环境搭建,分析Helloworld Drools5.0的xls文件转drl文件提升解析效率 使用BRMS的Tomcat6.0配置
- 关于使用eclipse开发Web的环境配置
- 关于SourceTree使用svn配置和设置
- SAMBA配置与使用详细解析
- Spring 配置中 bean 的 class 使用工厂 Bean 的含义解析
- 使用Capistrano向EC2部署Django代码--关于SSH相关的配置
- springside使用——关于Struts2的一些配置
- 数据解析的xcode6.3配置and使用xib自定义cell高度
- 关于nginx在tomcat下配置使用
- 【日志】log4j的使用配置与参数解析
- Nginx服务器中使用gzip压缩的相关配置解析
- C++中关于流以及参数传递形式的解析和使用。
- 关于分布式事务配置及使用@win2003 and sqlserver2k
- 关于Oracle listener日志解析利器的使用方法
- PL/SQL Developer结合oracle精简客户端使用配置错误代码ORA-12154: TNS: 无法解析指定的连接标识符
- 关于多用户使用相同用户配置文件问题