我必须加载一个属性文件,其路径在运行时确定,同时计算属性文件格式。这意味着我无法指定位置。我有一个属性加载器类,它读取文件并转换为键值对。在过去,我会通过实现ApplicationContextInitializer来实现这一点,但是在这个应用程序中我使用的是配置类,并且没有web.xml文件来注册这个监听器。我怎样才能进入@EnableWebMvc配置类的启动过程来调用我的属性加载器类,并添加从它返回的映射作为属性源。 任何帮助将不胜感激。
答案 0 :(得分:1)
要将ApplicationContextListener
挂钩到Servlet 3.0环境中,您可以采取以下两种方式之一:
contextInitializerClasses
context-param,其值是实现的类名。您可以在Web应用程序中同时拥有注释和这两个部署描述符中的任何一个(XML文件的优先级高于带注释的类)setInitParameter("contextInitializerClasses", MyImplementingInitializer.class.getName())
的类调用ServletContext
类上的WebApplicationInitializer
方法,使用@Order(1)
注释该类,以确保它在其他WebApplicationInitializer
之前运行小号