2010-04-25 99 views
1

目前所有的网络应用程序都是使用单独的部署配置文件:Spring的MVC部署多个环境

<!-- <import bean.... production/> --> 
<import bean... development/> 

这有缺点,即使你只需要换出一个配置文件,我敢肯定,每个人都熟悉(想知道什么只是部署没有通过XML搜索是其中之一)

我想添加记录到我的应用程序,基本上说'运行在生产模式',与部署服务的描述和他们是什么模式正在工作。

RUNNING IN PRODUCTION MODE 
Client Service - Production 
Messaging Service - Local 

等等...

在春季使用传统的部署(把战争的服务器上),这可能吗?人们做什么来管理部署和软件配置?

如果不是,还有什么其他方法可以实现类似的功能?

回答

2

是的。您可以使用PropertyPlaceholderConfigurer来动态添加属性,并在每个环境中具有不同的属性文件。例如:

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

这一个是从classpath,这可能会为你工作或可能不取决于你如何启动应用程序加载。所以,你可以在它的属性,如:

environment.message=DEVELOPMENT ENVIRONMENT 

然后,您就如何得到这个网页中的几个选项。可能最简单的方法是使用拦截器添加请求属性并从Spring配置中注入值$(environment.message}

无论如何,希望你指出正确的方向。

1

这也可以使用配置文件在Spring 3.1中添加的功能。见here