Spring Security 不用再写配置类了:新版的 Lambda DSL 一行搞定 90% 场景
引言 上个月带新同事接手一个 Spring Boot 3.3 的项目,他打开 SecurityConfig 看了半天问我:"这个项目是不是没有配 Security?"我说配了,就在你眼前——十行 Lambda,六个场景全覆盖:放行 Swagger、JWT 无状态、接口按角色鉴权、关 CSRF、开跨域、异常处理。他更困惑了:"我学的是 extends WebSecurityConfigurerAdapter + @EnableWebSecurity,这个写法怎么一行像配置的都没有?" 这个困惑非常普遍。Spring Security 从 5.2 开始引入 Lambda DSL,5.7 把 WebSecurityConfigurerAdapter 标记废弃,6.x 彻底移除——网上大量教程还在教 5.x 之前的写法,新项目的官方写法早已换了一代。更让人头疼的是 7.x 又有新变化:方法级安全成为推荐、authorizeRequests 彻底移除、MockMvc 测试的写法也变了。 这篇文章把 6.x/7.x 的 Lambda DSL 一次讲清: Lambda DSL 的设计逻辑:为什么"....