No bean named 'springSessionRepositoryFilter' is defined

使用spring-session配置了Filter之后报错,我使用的是Java配置,以下是我的配置

public class ManagementWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{RootConfig.class};
    }

    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{ServletConfig.class};
    }

    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

}
@ComponentScan(basePackages = {"com.pb.configuration"})
@Configuration
@PropertySource("classpath:redis.properties")
public class RootConfig {


    @Value("${redis_hostName}")
    private String hostname;
    @Value("${redis_port}")
    private String port;
    @Value("${redis_password}")
    private String password;
    @Value("${redis_timeout}")
    private String timeout;

    @Bean
    public JedisPoolConfig jedisPoolConfig(){
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxIdle(10);
        jedisPoolConfig.setMaxTotal(100);
        return jedisPoolConfig;
    }

    @Bean
    public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig jedisPoolConfig)
    {
        JedisConnectionFactory factory = new JedisConnectionFactory();
        factory.setPoolConfig(jedisPoolConfig);
        factory.setHostName(hostname);
        factory.setPort(Integer.parseInt(port));
        factory.setPassword(password);
        factory.setTimeout(Integer.parseInt(timeout));
        factory.setUsePool(true);
        return factory;
    }

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
    }
    
    @Bean
    public RedisHttpSessionConfiguration redisHttpSessionConfiguration(){
        RedisHttpSessionConfiguration redisHttpSessionConfiguration =   new RedisHttpSessionConfiguration();
        redisHttpSessionConfiguration.setMaxInactiveIntervalInSeconds(600);
        return redisHttpSessionConfiguration;
    }
}
@ComponentScan(basePackages = {"com.pb"})
@Configuration
@EnableWebMvc
public class ServletConfig extends WebMvcConfigurerAdapter{


    @Bean
    public ViewResolver viewResolver(){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return  resolver;
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
}
public class WebApplication implements WebApplicationInitializer {
    public void onStartup(ServletContext servletContext) throws ServletException {
        javax.servlet.FilterRegistration.Dynamic springSessionRepositoryFilter =   servletContext.addFilter("springSessionRepositoryFilter",DelegatingFilterProxy.class);
        springSessionRepositoryFilter.addMappingForUrlPatterns(null,false,"/*");
    }
}
阅读 5.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题