相比于Spring MVC,Spring Boot省去了繁琐的配置,提供了大部分场景下的默认配置,用户可以在不做任何配置的情况下使用Spring Boot框架进行开发。如果默认的参数并不能满足用户的需求,也只需创建一个配置文件并加上自定义的配置。Spring Boot的主导思想,想必大家也并不陌生,即:约定优于配置。
本文将简要介绍Spring Boot的自动配置原理,以及自动配置不能满足要求时,如何自定义配置。
一、Spring Boot的自动配置
Spring Boot之所以能做到自动配置,主要靠的是@EnableAutoConfiguration注解。这个注解集成于程序启动类注解@SpringBootApplication中。
@Target({
ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
excludeFilters = {
@Filter(
type = FilterType.CUSTOM,
classes = {
TypeExcludeFilter.class}
), @Filter(
type = FilterType.CUSTOM,
classes = {
AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication {
...
}