我正在将 Web 应用程序迁移到 Spring 3.2,并且正在享受无 web.xml 的配置。剩下的一部分是设置 webapp 根密钥,我之前在 web.xml 中这样做过,如下所示:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webapproot</param-value>
</context-param>
我知道 Spring 创建了一个默认密钥,但在我的情况下,我正在运行同一战争的多个版本,并且需要在每个版本中将密钥设置为不同的值。因此,最佳情况下,我想从属性文件中获取一个值并将其用作根键。
我想我会在这里的某个地方这样做:
public class WebAppInitializer implements WebApplicationInitializer {
private static final Logger logger = Logger.getLogger(WebAppInitializer.class);
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
// Create the root appcontext
AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
rootContext.register(AppConfig.class);
servletContext.addListener(new WebAppRootListener());
// Manage the lifecycle of the root appcontext
servletContext.addListener(new ContextLoaderListener(rootContext));
//servletContext.setInitParameter("defaultHtmlEscape", "true");
// The main Spring MVC servlet.
ServletRegistration.Dynamic springapp = servletContext.addServlet(
"springapp", new DispatcherServlet(rootContext));
springapp.setLoadOnStartup(1);
Set<String> mappingConflicts = springapp.addMapping("/");
...etc...
感谢任何可以提供建议的人!