21.1.2 自动配置

Spring Boot 的 Starter 减少了构建中依赖列表的长度,而 Spring Boot 的自动配置功能则削减了 Spring 配置的数量。它在实现时,会考虑应用中的其他因素并推断你所需要的 Spring 配置。

作为样例,让我们重新回忆第 6 章(程序清单 6.4),要将 Thymeleaf 模板作为 Spring MVC 的视图,至少需要三个 bean:ThymeleafViewResolver、SpringTemplateEngine 和 TemplateResolver。但是,使用 Spring Boot 自动配置的话,我们需要做的仅仅是将 Thymeleaf 添加到项目的类路径中。如果 Spring Boot 探测到 Thymeleaf 位于类路径中,它就会推断我们需要使用 Thymeleaf 实现 Spring MVC 的视图功能,并自动配置这些 bean。

Spring Boot Starter 也会触发自动配置。例如,在 Spring Boot 应用中, 如果我们想要使用 Spring MVC 的话,所需要做的仅仅是将 Web Starter 作为依赖放到构建之中。将 Web Starter 作为依赖放到构建中以后,它会自动添加 Spring MVC 依赖。如果 Spring Boot 的 Web 自动配置探测到 Spring MVC 位于类路径下,它将会自动配置支持 Spring MVC 的多个 bean,包括视图解析器、资源处理器以及消息转换器(等等)。我们接下来需要做的就是编写处理请求的控制器。

Last updated