Spring Session原理

首先配置Web.xml
    <filter>
    <filter-name>springSessionRepositoryFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSessionRepositoryFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>
查看DelegatingFilterProxy源码 initFilterBean()方法中
// If no target bean name specified, use filter name.
if (this.targetBeanName == null) {
this.targetBeanName = getFilterName();
}
也就是springSessionRepositoryFilter类为session共享过滤器实现类
在哪个地方进行注入springSessionRepositoryFilter呢?
在配置文件中<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">

RedisHttpSessionConfiguration继承SpringHttpSessionConfiguration SpringHttpSessionConfiguration通过@Bean的方式将springSessionRepositoryFilter注入到容器中

猜你喜欢

转载自shandongwill.iteye.com/blog/2421835