
了解Spring boot启动原理更有助于理解Spring boot
Spring boot启动类
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
启动类中最重要的两部分,@SpringBootApplication注解和SpringApplication.run()方法。
查看@SpringBootApplication源码
@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 {
…
}
可以看到这里使用了多个Annotation,其中重要的是
@Configuration(点开@SpringBootConfiguration发现里面还是使用了@Configuration)
@EnableAutoConfiguration
@ComponentScan




近期评论