从我的web-app中加载.properties文件

时间:2011-02-28 11:35:25

标签: spring jar

我创建了一个我需要在WEB-APP中使用的JAR。两者都是用spring框架创建的。我想在Web应用程序的主上下文中在JAR文件外部加载.properties文件。我想用Spring为我们提供的设施来做到这一点。

我试图在JAR中的spring.xml文件中执行类似的操作:

 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
       <value>/WEB-INF/classes/my.properties</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
   <property name="triggers">
      <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
         <property name="jobDetail" ref="myJob" />
     <property name="cronExpression" value="${my.cronExpression}"/>
      </bean>
   </property>
</bean>

尝试从my.properties文件加载my.cronExpression。但没有任何成功。

我总是收到这个错误:

  

无法解析占位符'my.cronExpression'。

我尝试使用类路径更改多个变体的位置:/ WEB-INF/classes/my.properties等...

但是我无法加载配置文件。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

使用classpath:my.properties - / WEB-INF / classes是类路径的根目录。

答案 1 :(得分:0)

尝试按如下方式声明:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
       <value>/WEB-INF/classes/my.properties</value>
    </property>
    <property name="ignoreUnresolvablePlaceholders">
       <value>true</value>
    </property>
</bean>

答案 2 :(得分:0)

我已经完成了您的代码,并希望您尝试使用此代码段

它适用于我:)

<bean id="placeholderProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:/WEB-INF/classes/my.properties" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="order" value="1" />
</bean>