No bean named 'springSessionRepositoryFilter' is defined

21102 ワード

プロジェクト環境
jdk:1.7 spring:4.1.6
に質問
spring webプロジェクトのredisセッション共有を実現する場合、web.xmlにはspringSessionRepositoryFilterが構成されていますが、起動時にはNo bean named 'springSessionRepositoryFilter' is definedが表示されます.いろいろな原因を探して、最後にバッグが間違っていて、spring-session-data-redisバッグが少なくなって、ネット上の大部分のチュートリアルは2つのバッグで、3つのバッグがあって、高バージョンのspringを対象にしているはずです.低バージョンでは4つのパッケージが必要です.
		<dependency>
		    <groupId>redis.clientsgroupId>
		    <artifactId>jedisartifactId>
		    <version>2.9.0version>
		dependency>
		<dependency>
		    <groupId>org.springframework.sessiongroupId>
		    <artifactId>spring-session-data-redisartifactId>
		    <version>1.2.0.RELEASEversion>
		dependency>
		<dependency>
		    <groupId>org.springframework.datagroupId>
		    <artifactId>spring-data-redisartifactId>
		    <version>1.6.0.RELEASEversion>
		dependency>
		<dependency>
		       <groupId>org.springframework.sessiongroupId>
		       <artifactId>spring-sessionartifactId>
		       <version>1.3.0.RELEASEversion>
		dependency>
		<dependency>
		    <groupId>org.apache.commonsgroupId>
		    <artifactId>commons-pool2artifactId>
		    <version>2.6.0version>
		dependency>


applicationContext.xml
context:annotation-config/>
	<context:component-scan
		base-package="org.springframework.web.filter.DelegatingFilterProxy" />

	<context:property-placeholder location="classpath:redis.properties" />

	<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"> 
		
		<property name="maxInactiveIntervalInSeconds" value="6000">property>
	bean>  

	<bean id="propertyConfigurerRedis"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="order" value="1" />
		<property name="ignoreUnresolvablePlaceholders" value="true" />
		<property name="systemPropertiesMode" value="1" />
		<property name="searchSystemEnvironment" value="true" />
		<property name="locations">
			<list>
				<value>classpath:redis.propertiesvalue>
			list>
		property>
	bean>

	<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<property name="maxIdle" value="${redis.maxIdle}" />
		<property name="testOnBorrow" value="${redis.testOnBorrow}" />
	bean>

	<bean id="jedisConnectionFactory"
		class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
		<property name="usePool" value="true">property>
		<property name="hostName" value="${redis.host}" />
		<property name="port" value="${redis.port}" />
		<property name="password" value="${redis.password}" />
		<property name="timeout" value="${redis.timeout}" />
		<property name="database" value="${redis.default.db}">property>
		<constructor-arg index="0" ref="jedisPoolConfig" />
	bean>