在传统的web.xml类型配置中,您可以如下配置上下文参数
web.xml
...
<context-param>
<param-name>p-name</param-name>
<param-value>-value</param-value>
</context-param>
...
这是如何实现在Spring启动。我有一个过滤器,需要参数。
我正在使用@EnableAutoConfiguration
,并在我的pom中包含了<artifactId>spring-boot-starter-jetty</artifactId>
。
4条答案
按热度按时间qkf9rpyu1#
您可以使用
server.servlet.context-parameters
应用程序属性来设定参数。例如:在Sping Boot 1.x中(已不再支持),此属性被命名为
server.context-parameters
:或者,可以通过声明
ServletContextInitializer
Bean以编程方式配置参数:fwzugrvs2#
实际上,可以使用Java config来实现这一点。如果您有需要一些参数的过滤器,只需将它们放在您的应用程序.yml(或.properties)中,使用
@Value
将它们注入到您的config类中,并在FilterRegistrationBean
中注册它们。例如:
也可以使用JavaDoc for
FilterRegistrationBean
:http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/embedded/FilterRegistrationBean.html
更新
您可以在
SpringBootServletInitializer#onStartup()
方法中注册servlet上下文的参数。您的应用程序类可以扩展SpringBootServletInitializer
,并且您可以覆盖onStartup
方法并在其中设置参数。示例:另一种方法是定义Andy威尔金森建议的
ServletContextInitializer
bean。inb24sb23#
从Sping Boot 2.0.0开始,他们更新了添加上下文参数的方式:
您可以在此link上看到更多更新
ar5n3qh54#
您还可以在配置中定义InitParameterConfiguringServletContextInitializer。例如: