SpringBoot的本质:
自动装配原理。
SpringBoot是在原有的Spring框架上增加了一些注解。
@SpringBootApplication注解:
复合注解或派生注解。它的底层实现,其最主要的是@EnableAutoConfiguration注解。
而@EnableAutoConfiguration注解,也是一个派生注解,它最主要的则是@Import({AutoConfigurationImportSelector.class})注解,AutoConfigurationImportSelector的类中,有一个selectImports方法,则是用来扫描并自动装配类到spring容器中的。
而我们平常常用的server.port=8080等等注解,都是存在各种@EnableConfigurationProperties注解开启的。
@ComponentScan注解:
自spring3.1之后,开始完全脱离了spring的xml配置文件,因为出现@ComponentScan注解,用于扫描包文件。如需采用配置文件加Config配置类两种方式,则仅仅使用注解即可实现。
@Import 注解:
如果我们得配置存在很多,比如mysql配置、mybatis配置、controller配置等等,此时我们需要存在很多配置文件类,那么我们可以采用@import的方式去加载其他配置类。
实则:SpringBoot的产生,是将原来复杂不好实用的Spring框架,中的注解等等封装,得到延续的注解。其思想一致。如果我们对Spring的运用足够熟练,我们也可以写出自己的注解。
Spring最原始的注解:
@Documented
@Retention
@Target
@Retention
@Mapping
@Inherited
@Component
等等