Spring Boot和Spring Session,在SessionAutoConfigure.java中禁用自动配置

时间:2015-12-07 04:01:10

标签: spring-boot spring-session

我们有一个用例不使用Spring会话,即没有@EnableRedisHttpSession注释,即使Spring Session和Spring启动都在类路径中。我们过去通过拥有自定义属性spring.session.enabled并在具有@ConditionalOnProperty注释的类上具有@EnableRedisHttpSession来实现这一点。这适用于Spring boot 1.2.7。但是对于Spring Boot 1.3.0,SessionAutoConfiguration类上有一个@EnableRedisHttpSession注释。

有没有办法禁用该类?

1 个答案:

答案 0 :(得分:4)

禁用Spring Session的Spring Boot自动配置:

@SpringBootApplication(exclude = {SessionAutoConfiguration.class})
public class Application
{
 ...
}

然后,根据属性启用Spring Session(例如,您可能希望在开发时禁用它但在生产中启用):

@Configuration
@ConditionalOnProperty(value = "spring.session.enabled", havingValue = "true", matchIfMissing = false)
@EnableRedisHttpSession
public class HttpSessionConfig
{
 ...
}
  

我有同样的问题,通过评论,我得到了答案,所以我把它放在这里,所以问题标记为已回答: