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

nsd*_*div 2 spring-boot spring-session

我们有一个不使用Spring会话的用例,即@EnableRedisHttpSession即使Spring Session和Spring boot在类路径中也没有注释。我们曾经通过拥有一个自定义属性spring.session.enabled并在具有注释@ConditionalOnProperty的类上使用来做到这一点@EnableRedisHttpSession。这在Spring Boot 1.2.7中有效。但是在Spring Boot 1.3.0中,SessionAutoConfiguration该类具有@EnableRedisHttpSession注释。

有没有办法禁止使用该类?

ETL*_*ETL 6

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

@SpringBootApplication(exclude = {SessionAutoConfiguration.class})
public class Application
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

我有相同的问题,通过评论,我能够得到我的答案,所以我将其放在此处,因此该问题被标记为已回答: