Spring Boot用于快速高效地创建可执行的Spring应用程序,进一步升华了约定优于配置,其中核心之一就是自动配置,通过@EnableAutoConfiguration实现,在类路径中查找META-INF/spring.factories(比如:spring-boot-autoconfigure中的这个文件),解析出每一条记录(每一条其实就是一个Configuration
),然后import
,实施装载配置。
auto onfiguration | 备注 |
---|---|
WebMvcAutoConfiguration | Spring MVC自动配置,类似@EnableWebMvc |
TestDatabaseAutoConfiguration | 根据驱动类自动识别并创建测试数据库(嵌入式)及数据源 |
DataSourceAutoConfiguration | 数据源自动配置 |
H2ConsoleAutoConfiguration | 是否自动开启H2 Console,spring.h2.console.enabled=true/false |
设置debug=true,可以看到那些自动配置启用了,那些没有启用。
1 |
|
可以根据需要人工精确控制自动配置,初始化的性能会得到提升,但是增加了配置工作量。
spring-boot-autoconfigure里的spring.factories中的自动配置
1 |
|