我计划开发一个模块,它实际上需要读取配置数据,如下所示,其中标记<path>将使用不同的路径名重复多次,可以是相同的<pathtype>和不同的URL和参数,然后尝试访问Java类中的这些URL和路径。
在Java语言中,我应该能够读取给定类型的所有<pathurl>标记及其参数。然后我将在Java中逐个处理它们。
配置此数据并读入Java的最佳方式是什么?如果这是正常的属性,文件加载过程由Java,或有任何新的最佳实践,使用spring或任何其他实用程序。
基本上,我想知道除了以这种XML格式配置数据,然后对其进行解析之外,是否还有其他方法?因为XML中数据是静态的,所以我的客户不想使用数据库。
<path>
<pathname>mypath</pathname>
<pathtype>httpfile</pathtype>
<pathurl>http://acdsds:8380/gis/</pathurl>
<params>
<user>sad</user>
<password>spwd</password>
<httprescd>100</httprescd>
<mexist>DROD_MEF.gif</mexist>
</params>
</path>发布于 2014-01-31 14:40:22
当涉及到在spring中使用某些属性来配置软件时,例如URL、密码和唯一键,PropertyPlaceHolderConfigurer是最好的选择。
来自spring文档:
You use the PropertyPlaceholderConfigurer to externalize property values from a bean definition in a separate file using the standard Java Properties format. Doing so enables the person deploying an application to customize environment-specific properties such as database URLs and passwords, without the complexity or risk of modifying the main XML definition file or files for the container.您要做的是,将所有配置数据放在一个属性文件中:
##JDBC related properties start here##
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.databaseURL=jdbc:mysql://localhost:3306/databaseName
jdbc.userName=root
jdbc.password=root
##JDBC related properties end here##
## path Configuration start here##
path.name=mypath
path.type=httpfile
path.url=http://acdsds:8380/gis/
## path Configuration ends here##然后,配置spring以访问外部属性文件(假设您的属性文件名为settings.properties):
<!--settings for accessing external property files-->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/yourPathToPropertiesFile/settings.properties</value>
</list>
</property>
</bean> 在配置了PropertyPlaceholderConfigurer之后,只需使用@value注释,就可以随时随地访问您的属性。
@Value("${path.name}")
String pathName;您甚至可以使用属性文件来配置您的数据源和许多其他东西:
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.databaseURL}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>发布于 2014-01-31 11:36:55
您可能应该从阅读一些关于Java中的XML处理的基本教程开始。我是有偏见的,但我的标准推荐仍然是IBM's DeveloperWorks XML site的材料
发布于 2014-01-31 14:24:56
您可以使用json配置文件和Google的Gson(https://code.google.com/p/google-gson/)来解析json文件。请参考此线程Parse a nested JSON using gson了解如何使用Gson库和示例json格式。
https://stackoverflow.com/questions/21470707
复制相似问题