一.什么是SpringBoot
在之前的学习当中,要想完成一个三层架构,我们需要配置纷繁复杂的xml文件,前后端都需要配置,再简单的练习时,我们还可以配置,但要是一个真正的项目,那复杂程度可想而知,这就不利于Java的发展,这时就出现了SpringBoot,它是为了简化Spring中繁琐的xml配置,能够快速的搭建一个应用,它不是什么新框架,它只是整合了很多框架的使用方式。
二.SpringBoot的特点
-
提供了固定的配置来简化配置,即
约定大于配置
-
尽可能地自动配置 Spring 和第三方库,即能
自动装配
-
内嵌容器,创建独立的 Spring 应用
-
让测试变的简单,内置了JUnit、Spring Boot Test等多种测试框架,方便测试
-
提供可用于生产的特性,如度量、运行状况检查和外部化配置。
-
完全不需要生成代码,也不需要 XML 配置。
三.核心
当我们创建了一个SpringBoot项目,它都会有一个启动类,所以一切都来源于启动类
3.1@SpringBootApplication
@SpringBootApplication标注的类就是主配置类,SpringBoot运行这个类的main方法来启动SpringBoot应用,其底层源码:
@SpringBootConfiguration,标注当前为配置类
@EnableAutoConfiguration,开启自动配置
@ComponentScan,包扫描
这三个注解的底层原理
@SpringBootConfiguration
@Configuration标注在类上,这就是一个springboot的配置,可以向容器中注入组件
@ComponentScan:
-
@ComponentScan
:配置用于 Configuration 类的组件扫描指令。 -
提供与
Spring XML
的<context:component-scan>
元素并行的支持。 -
可以
basePackageClasses