Ale*_*ndr 10 java spring spring-mvc
我想听会话生命周期事件.我读过关于添加的内容
<listener>
<listener-class>
org.springframework.security.web.session.HttpSessionEventPublisher
</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
到web.xml.但我没有.我正在使用扩展SpringBootServletInitializer的类.我怎么能添加这个监听器?
axt*_*avt 16
你可以使用ServletListenerRegistrationBean:
@Bean
public ServletListenerRegistrationBean<HttpSessionEventPublisher> httpSessionEventPublisher() {
return new ServletListenerRegistrationBean<HttpSessionEventPublisher>(new HttpSessionEventPublisher());
}
Run Code Online (Sandbox Code Playgroud)
在扩展 SpringBootSelvletInitializer 的类中添加监听器可以如下完成。
@Configuration
public class Application extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
SpringApplicationBuilder app=application.sources(Application.class, ComponentConfiguration.class);
app.listeners(bootstrapContext.commandLineListener());
return app;
}
Run Code Online (Sandbox Code Playgroud)
由于构建器类具有侦听器方法,该方法用于添加要注册的所有侦听器。SpringApplicationBuilder 的 Github 链接是http://goo.gl/EGj6jE
我认为这会解决你的问题。
斯瓦拉杰
| 归档时间: |
|
| 查看次数: |
10954 次 |
| 最近记录: |