Spring 3.0移除store-type后如何禁用Spring Session?
如何在新版本Spring Boot中禁用Spring Session?
由于旧版本里用来禁用Spring Session的spring.session.store-type=none配置属性已被移除,新版本可以通过以下两种常用方式来禁用:
方式一:排除Spring Session自动配置类
这是官方推荐的做法,直接在Spring Boot启动类上通过@SpringBootApplication注解的exclude参数排除Session自动配置类,Spring Boot就不会自动初始化Spring Session相关组件:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.session.SessionAutoConfiguration; @SpringBootApplication(exclude = SessionAutoConfiguration.class) public class YourApplication { public static void main(String[] args) { SpringApplication.run(YourApplication.class, args); } }
如果项目引入了特定存储类型的Spring Session依赖(比如Redis),也可以针对性排除对应存储的自动配置类,比如RedisSessionAutoConfiguration.class,不过一般排除SessionAutoConfiguration.class就足以完全禁用Spring Session。
方式二:移除Spring Session依赖
如果项目不需要保留Spring Session的任何依赖,直接从依赖管理文件(比如Maven的pom.xml或Gradle的build.gradle)中移除Spring Session相关依赖(如spring-boot-starter-session),自然就不会触发Spring Session的初始化。
官方移除spring.session.store-type=none的原因是该配置本质上是间接排除自动配置类,改为显式排除的方式更清晰直观,避免配置逻辑的隐藏性。
内容的提问来源于stack exchange,提问作者Tonny Tc
相关产品推荐
相关产品推荐

