Spring Boot中提供了大量的自动化配置类,例如之前提到过的 ErrorMvcAutoConfiguration、ThymeleafAutoConfiguration、FreeMarkerAutoConfiguration、MultipartAutoConfiguration等,这些自动化配置可以减少相应操作的配置,达到开箱即用的效果。在 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