我们有一个用例不使用Spring会话,即没有@EnableRedisHttpSession
注释,即使Spring Session和Spring启动都在类路径中。我们过去通过拥有自定义属性spring.session.enabled
并在具有@ConditionalOnProperty
注释的类上具有@EnableRedisHttpSession
来实现这一点。这适用于Spring boot 1.2.7。但是对于Spring Boot 1.3.0,SessionAutoConfiguration
类上有一个@EnableRedisHttpSession
注释。
有没有办法禁用该类?
答案 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
{
...
}
我有同样的问题,通过评论,我得到了答案,所以我把它放在这里,所以问题标记为已回答: