Свойства не разрешены в XML-контексте Spring - PullRequest
0 голосов
/ 11 января 2012

Я создаю свой контекст Spring внутри static main метода с

return new ClassPathXmlApplicationContext("applicationContext.xml");

Внутри applicationContext.xml Я связываю один из моих бобов с

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.SingleConnectionDataSource">
    <property name="driverClassName">
        <value>${db.driverclassname}</value>
    </property>
    ...
</bean>

В моем пути к классам есть файл .properties, содержащий значение db.driverclassname.

К сожалению, я получаю следующую ошибку:

Property 'driverClassName' threw exception; 
    nested exception is java.lang.IllegalStateException: 
        Could not load JDBC driver class [${db.driverclassname}]

Что я делаю не так? Я использую Spring 2.5.5

Ответы [ 2 ]

5 голосов
/ 11 января 2012

Вам не нужен PropertyPlaceholderConfigurer ?

например

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

Эта статья подробности использования.

0 голосов
/ 01 июля 2012
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:your.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true"/>
    </bean>
...