2012-11-14 3 views
1

В ASP.NET у меня есть .config Файлы XML, которые настраивают мои приложения. Приятно иметь возможность входа на сервер и просто редактировать XML, когда необходимо изменить конфигурацию. Приложение само обнаруживает это и автоматически запускается.Настройка Spring MVC-приложений

Как я могу получить такое же удобство с Spring MVC?

(В настоящее время я экспортировать свои приложения MVC в .war файлы, которые развернуты в диспетчере Tomcat Web Application. Если мне нужно изменить настройки, например root-context.xml мне нужно экспортировать, отмените развертывание приложения снова. Утомительным и рискованно работа.)

ответ

2

вы можете сохранить пружинную конфигурацию за пределами вашей войны (fe в папке conf вашего кота).

следующий фрагмент из web.xml говорит весной, где найти файл конфигурации:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>file:/foo/bar/root-context.xml</param-value> 
</context-param> 

или вы могли бы переместить вещи, которые нужно часто менять с вашего root-context.xml на свойства-файл и поместить его затем за пределами война.

определяет свойства-заполнитель в вашей пружинной конфигурации для доступа к свойствам-файл:

<context:property-placeholder location="file:/foo/bar/root-context.properties /> 
+0

Отлично, просто тип решения, которое я искал. – Gruber

+0

@Gruber: рад слышать – Yevgeniy

+1

@Gruber: и, кстати, вам придется перезапустить tomcat, как только вы что-то изменили в root-context.xml ... нет никакой автозагрузки вещей весной, насколько я знаю , такая вещь может быть легко реализована для одноэлементных бобов, но это совсем другая история :) – Yevgeniy

0

Вы можете создать Java properties configuration files.properties с расширением, например development.properties и production.properties и поместить их в папке /WEB-INF/spring. Такой файл может содержать

myApp.Username = somename 

Затем ссылку на файл из root-context.xml:

<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location" value="/WEB-INF/spring/production.properties"/> 
</bean> 

Используйте значение конфигурации в root-context.xml файл со строками, как

<property name="username" value="${myApp.Username}" /> 

При развертывании файла .war , вы заметите, что папка name of app/WEB-INF/spring/ появится в вашей папке развертывания на вашем компьютере bserver (например, /var/lib/tomcat7/webapps). Здесь вы также найдете root-context.xml. Хотя я не проверял, я предполагаю, что если вы отредактируете эти файлы в текстовом редакторе и перезапустите Tomcat, вы достигнете того, чего хотите.

Смежные вопросы