Либо используйте встроенный блок <props>
, как предложил Стивен С, либо используйте файл свойств вместе с PropertiesPlaceHolderConfigurer , как предлагается в Spring Online Reference :
Сначала зарегистрируйте PropertyPlaceholderConfigurer:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations"
value="classpath:com/foo/jdbc.properties"/>
</bean>
Или используйте эквивалентный ярлык для новой школы:
<context:property-placeholder
location="classpath:com/foo/jdbc.properties"/>
Это пример содержимого файла свойств:
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://production:9002
jdbc.username=sa
jdbc.password=root
А вот как вы назначаете свойства:
<bean id="dataSource" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
Примеры взяты из Spring Reference. Хорошая вещь в этом подходе состоит в том, что а) вы можете повторно использовать один и тот же файл свойств для разных контекстов приложения, б) для модульных тестов, вы просто помещаете другую версию свойств в путь к классам (в сценарии maven в src / test / ресурсы вместо src / main / resources), и вам больше ничего не нужно менять.
Вы также можете настроить LocalPersistenceManagerFactoryBean напрямую с помощью файла свойств (см. Настройка PersistenceManagerFactory ):
<beans>
<bean id="myPmf" class="org.springframework.orm.jdo.LocalPersistenceManagerFactoryBean">
<property name="configLocation" value="classpath:kodo.properties"/>
</bean>
</beans>