2013-08-05 111 views
3

我有一个application.xml文件(目录= WEB-INF/application.xml中)读取参数.XML文件

和我有一个jasperserver.properties文件(目录= WEB-INF /内部/ jasperserver.properties)

这是jasperserver.properties文件

我想从application.xml文件读取 “SERVICE_URL” 属性

我该如何做?

回答

4

在application.xml中使用PropertyPlaceholderConfigurer

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
    <value>classpath:path/to/jasperserver.properties</value> 
    </property> 
</bean> 

加载属性文件。 然后在您的application.xml使用$ {} SERVICE_URL替代值:

<bean class="your class"> 
    <property name="serviceURL"><value>${SERVICE_URL}</value></property> 
</bean> 
+0

我需要输入完整的路径名吗?我不能使用服务器名称或端口等,否则代码将不会通用,因为这些值会不断变化(文件位于Servername:Port \ webapps \ jasperserver-pro \ WEB-INF \ internal \ jasperserver-pro.properties) – Andre

+0

不,我认为'classpath:internal/jasperserver.properties'或'classpath:WEB-INF/internal/jasperserver.properties'会很好 –

+0

我得到java.io.FileNotFoundException错误。我尝试了很多其他的路径和双重检查一切,没有运气:( – Andre

1

我觉得你jasperserver.properties是不是在你的类路径中。在bean定义的值标签给出

删除类路径,下面是修改后的

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
    <value>/WEB-INF/internal/jasperserver.properties</value> 
    </property> 
</bean> 

那就试试吧

其他明智副本jasperserver.properties src的文件夹,并添加如下修改豆提到

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
    <value>classpath:jasperserver.properties</value> 
    </property> 
</bean> 

希望它会有所帮助。