You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.0.1项目启动报错:WebMvcConfigurerAdapter类不存在

问题解决方案

原因分析

  • Spring Boot 3.0.1依赖的Spring Framework 6.x已完全移除WebMvcConfigurerAdapter类(该类在Spring 5.0就已被废弃,官方推荐直接实现WebMvcConfigurer接口)。
  • WebSecurityConfigurerAdapter在Spring Security 5.7+版本中已被废弃,Spring Boot 3.0集成的Spring Security版本远高于此,同时你手动引入的spring-security-config 4.1.3.RELEASE与Spring Boot 3.0的依赖版本严重冲突,这是触发报错的核心原因。

修复步骤

  1. 移除冲突的Spring Security依赖
    在pom.xml中删除手动引入的旧版本依赖,Spring Boot的starter会自动管理兼容的Spring Security版本:

    <!-- 删除该行冲突依赖 -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>4.1.3.RELEASE</version>
    </dependency>
    

    保留Spring Security的starter依赖即可:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    
  2. 重构SecurityConfig配置类
    不再继承WebSecurityConfigurerAdapter,改用Spring Security推荐的组件式配置:

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    import org.springframework.security.web.SecurityFilterChain;
    
    @Configuration
    public class SecurityConfig {
    
        @Bean
        public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
            http
                .authorizeHttpRequests(auth -> auth
                    // 按需配置权限规则,示例:允许公开访问接口
                    .requestMatchers("/api/public/**").permitAll()
                    .anyRequest().authenticated()
                )
                // 按需添加其他配置,如表单登录、JWT认证等
                .formLogin(form -> form.permitAll())
                .logout(logout -> logout.permitAll());
            return http.build();
        }
    }
    
  3. 处理WebMvc相关配置(若存在)
    如果之前有继承WebMvcConfigurerAdapter的配置类,改为直接实现WebMvcConfigurer接口:

    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer {
        // 按需重写方法,如addResourceHandlers、addCorsMappings等
    }
    
  4. 清理缓存并重新构建
    执行mvn clean install清理旧依赖缓存,重新构建项目后启动即可。

内容的提问来源于stack exchange,提问作者Snehashis Dasgupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:55:58