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

Spring Boot无法识别@RestController问题求助

解决Spring Boot无法识别@RestController的问题

问题出在你启动应用的方式上:

  • 你的Main类标注了@SpringBootApplication(这个注解包含@Configuration、@EnableAutoConfiguration和@ComponentScan,会自动扫描当前包及子包下的组件),但你在main方法里却启动了MuninContext.class
  • 而MuninContext只加了@Configuration和@EnableAutoConfiguration,没有开启组件扫描,所以Spring找不到你的@RestController类。

两种解决方案:

方案1:修改启动类为Main.class

直接把Main类里的启动代码改成用自身作为配置类,利用@SpringBootApplication自带的组件扫描功能:

package com.iglossolalia.munin;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        // 替换为Main.class作为启动配置类
        SpringApplication.run(Main.class, args);
    }
}

方案2:给MuninContext添加组件扫描注解

如果坚持要用MuninContext作为启动类,给它加上@ComponentScan注解指定扫描路径:

package com.iglossolalia.munin;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableAutoConfiguration
// 添加组件扫描,指定当前包
@ComponentScan(basePackages = "com.iglossolalia.munin")
public class MuninContext {

}

改完重启应用后,你会看到日志输出Started MuninService,访问/health也会返回pong。

内容的提问来源于stack exchange,提问作者Mikaela Irish

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 21:45:11