如何通过servlet参数将某些属性传递给Spring上下文?

时间:2014-05-28 14:01:55

标签: spring embedded-jetty

所以我们决定不再将我们的应用程序部署为通常的tomcat上的战争,而是来自嵌入式码头。我的应用使用context:property-placeholder来解析文件中的属性。现在我需要在启动jetty之前以编程方式传递一些(或所有)属性。有没有一种方法允许我在运行jetty之前通过代码设置一些属性,而不是依赖于.properties文件?例如,作为Servlet参数?

1 个答案:

答案 0 :(得分:2)

您可以使用ServletContextPropertyPlaceholderConfigurer。此PropertyPlaceholderConfigurer从servlet上下文init params中提取属性。

来自Spring Javadocs

  

PropertyPlaceholderConfigurer的子类,它将占位符解析为ServletContext init参数(即web.xml context-param条目)。

但是这个类在Spring 3.1版中已被弃用。

从版本3.1开始,您不需要使用任何特殊配置,因为所有基于Web的servlet上下文都使用默认情况下从servlet上下文参数解析属性的类org.springframework.web.context.support.StandardServletEnvironment