Spring Boot中提供了大量的自动化配置类,例如之前提到过的 ErrorMvcAutoConfigurationThymeleafAutoConfigurationFreeMarkerAutoConfigurationMultipartAutoConfiguration等,这些自动化配置可以减少相应操作的配置,达到开箱即用的效果。在 Spring Boot的入口类上有一个 @SpringBootApplication 注解。

    该注解是一个组合注解,由@SpringBootConfiguration@EnableAutoConfiguration 以及 @ComponentScan 组成,其中 @EnableAutoConfiguration 注解开启自动化配置,相关的自动化配置类就会被使用。如果开发者不想使用某个自动化配置,按如下方式除去相关配置即可∶



@SpringBootApplication
@EnableAutoConfiguration(exclude = { ErrorMvcAutoConfiguration.class })
public class TempSpringbootApp {
   public static void main(String[] args) {
      SpringApplication.run(TempSpringbootApp.class, args);
      System.out.println("▲▲▲▲▲▲▲▲▲");
   }
}


    在 @EnableAutoConfiguration 注解中使用 exclude 属性除去Error的自动化配置类,这时如果在resources/static/error目录下创建4xx.html、5xx.html,访问出错时就不会自动跳转了。由于 @EnableAutoConfiguration 注解的 exclude 属性值是一个数组,因此有多个要排除的自动化配置类时只需继续添加即可。除了这种配置方式外,也可以在 application.properties 配置文件中进行配置,代码如下∶

spring.autoconfigure.exclude==org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration