在配置类中添加属性源

时间:2013-11-14 18:32:03

标签: spring spring-mvc spring-profiles

我必须加载一个属性文件,其路径在运行时确定,同时计算属性文件格式。这意味着我无法指定位置。我有一个属性加载器类,它读取文件并转换为键值对。在过去,我会通过实现ApplicationContextInitializer来实现这一点,但是在这个应用程序中我使用的是配置类,并且没有web.xml文件来注册这个监听器。我怎样才能进入@EnableWebMvc配置类的启动过程来调用我的属性加载器类,并添加从它返回的映射作为属性源。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

要将ApplicationContextListener挂钩到Servlet 3.0环境中,您可以采取以下两种方式之一:

  • 包含web.xml或web-fragment.xml,它定义contextInitializerClasses context-param,其值是实现的类名。您可以在Web应用程序中同时拥有注释和这两个部署描述符中的任何一个(XML文件的优先级高于带注释的类)
  • 从实现setInitParameter("contextInitializerClasses", MyImplementingInitializer.class.getName())的类调用ServletContext类上的WebApplicationInitializer方法,使用@Order(1)注释该类,以确保它在其他WebApplicationInitializer之前运行小号