Я использую Spring с моим приложением, и я могу добавить некоторые свойства из некоторого файла на пути к классам в мое приложение, и все работает отлично. т.е.
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="searchContextAttributes" value="true" />
<property name="contextOverride" value="true" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:application.properties</value>
</list>
</property>
</bean>
Теперь я могу использовать ${any.property.from.application.properties}
в контексте моей весны. И в моем основном классе:
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("appContext.xml");
Это также работает, мой вопрос в том, как мне вставить местоположение файла свойств в контекст весны, не имея его на первом месте, я хочу сделать мое приложение настраиваемым. Если я выполняю свое приложение из C:\dir
или /user/home/dir
, я предполагаю, что в контексте приложения значение должно быть либо C:\application.properties
, либо /user/home/dir/application.properties