我正在计划Maven开发一个实际上需要读取下面的配置数据的模块,其中标记<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>
答案 0 :(得分:1)
在使用某些属性(如URL)配置软件时,春季PropertyPlaceHolderConfigurer中的密码和唯一键是您最好的选择。
从春季文件:
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>
答案 1 :(得分:0)
您应该首先阅读一些关于Java中XML处理的基础教程。我有偏见,但我的标准建议仍然是IBM's DeveloperWorks XML site
的材料答案 2 :(得分:0)
您可以使用json配置文件和Google的Gson(https://code.google.com/p/google-gson/)来解析json文件。关于如何使用Gson库&amp ;;请参阅此主题Parse a nested JSON using gson。样本json格式。