卡了我蛮久的BUG。。没想到只是个小事情就解决了。
之前出BUG时是没有这个图标显示的,说明Spring根本就没有扫描到你这个异常处理类。
我们要在启动类中加一个:scanBasePackages="com.mes"
@SpringBootApplication(scanBasePackages = "com.mes")
public class DeviceApplication {
public static void main(String[] args) {
SpringApplication.run(DeviceApplication.class, args);
}
}
因为我异常处理类和启动类是不同工程,所以我加上scanBasePackages
统一扫描我的com.mes
下的包。
另一种方式是在启动类上添加@ComponentScan
注解,用于指定需要扫描的包路径,与@SpringBootApplication
中的scanBasePackages
属性类似。
例如,@SpringBootApplication
注解中添加@ComponentScan(basePackages = "com.mes")
等价于@SpringBootApplication(scanBasePackages = "com.mes")
。
需要注意的是,scanBasePackages
属性和@ComponentScan
注解都是可选的,如果不指定,默认情况下Spring Boot会从启动类所在的包开始扫描所有的组件。