SPRINGBOOT原理

1.核心注解
springboot工程中总是在添加一个核心注解@SpringBootApplication

它是一个springboot框架提供的组合注解,一共组合了3个注解.RestController也是一个组合注解,组合了ResponseBody 和Controller

1.1SpringBootConfiguration
本质上,这个注解就是一个spring的配置注解@Configuration(一个配置注解所在的类,相当于与一个xml配置文件的功能)

1.2ComponentScan
相当于一个xml配置文件中的context:component-scan标签,默认将当前类所在的包作为basePackage使用.

上述两个注解同时存在,相当于使用了一个xml配置文件

两个注解一组合,能让我们在代码中自定义的各种@Component @Controller @Service注解所在类生成在IOC容器

1.3EnableAutoConfiguration
每一个版本的springboot都会扩展非常庞大的**AutoConfiguration的配置类,每一个类都相当于是一个xml.@EnableAutoConfiguration的作用就是导入这些配置类,使得在加载一个springboot启动类时,不仅具备扫描自定义业务层注解的功能,还具备加载springboot自动配置逻辑
SPRINGBOOT原理_第1张图片
计算机生成了可选文字:@SpringB00tConfiguration.Com/onentScan@EnabIeAut0Configuration
ControllerServiceComponentimportspringbootAAut0ConfigBAut0ConfigAutoCOnfig
NAut0Config

springboot当前版本都准备了哪些自动配置类,可以从一个spring.factories的文件中观察到.

在spring-boot-autoconfigure的jar包中,找到META-INF文件夹,从中观察打开spring.factories

你可能感兴趣的:(互联网框架,java)