将自定义ApplicationContextInitializer添加到Spring Web应用程序的一种方法是将其添加到web.xml文件中,如下所示。
<context-param> <param-name>contextInitializerClasses</param-name> <param-value>somepackage.CustomApplicationContextInitializer</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
但是,由于我使用的是Spring Boot,是否有任何方法不必创建web.xml来添加CustomApplicationContextInitializer?
您可以在中注册 META-INF/spring.factories
META-INF/spring.factories
org.springframework.context.ApplicationContextInitializer=\ com.example.YourInitializer
您也可以SpringApplication在运行之前将它们添加到您的计算机上
SpringApplication
application.addInitializers(YourInitializer.class); application.run(args);
或关于建造者
new SpringApplicationBuilder(YourApp.class) .initializers(YourInitializer.class); .run(args);
乍看之下,从文档中看不出来,所以我打开了#5091进行检查。