@javazjm
2017-10-30T10:33:15.000000Z
字数 790
阅读 1417
Springboot
运行原理
@SpringBootApplication的核心功能由@EnableAutoConfiguration提供
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import({EnableAutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {
String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";
Class<?>[] exclude() default {};
String[] excludeName() default {};
}
关键在于@Import导入的配置文件,EnableAutoConfigurationImportSelector使用SpringFactoriesLoader.loadFactoryNames方法来扫描具有META-INF/spring.factories文件的jar包(spring-boot-autoconfigure-1.3.0.x.jar),spring.factories文件有自动配置。
枚举的使用见:ConditionalOnJava(package org.springframework.boot.autoconfigure.condition)
实例分析http的编码配置