SpringBoot2自动配置(基本知识)
1、SpringBoot+Maven自动帮我们管理的某个版本的依赖,如果需要修改版本,在pom.xml中配置即可
2、SpringBoot启动程序返回一个IOC容器,已自动装配所有web开发的常用场景。
而如果使用以前的Spring整合SpringMVC,则需要在web.xml配置文件中配置很多的组件:具体参考Spring整合SpringMVC文档:https://blog.csdn.net/feiyangtianyao/article/details/86620912
3、SpringBoot有包默认扫描规则,它会自动扫描主程序所在的包和类。
参考文档:https://www.yuque.com/atguigu/springboot/qb7hy2
虽然程序默认包扫描为主程序所在的文件夹,但是我们可以通过配置来扩大包扫描范围。
4、配置值
SpringBoot2配置值统一在配置文件application.yml中为某个类配置属性值
~默认配置最终都是映射到某个类上,如:MultipartProperties
~配置文件的值最终会绑定在每个类上,这个类会在容器中创建对象
5、按需加载所有自动配置项
~非常多的starter:如web的、mysql的、、、
~引入了哪些场景这个场景的自动配置才会开启
~SpringBoot所有的自动配置功能都在spring-boot-autoconfigure包里面
spring-boot-starter-web 依赖了spring-boot-starter,spring-boot-starter依赖了spring-boot-autoconfigure
包括aop切面、缓存、解码、批处理(spring-boot-starter-batch)等等自动配置,用的时候只要导入starter场景即可
引入场景之后,对应组件的自动配置标红就会消除:不发红就是生效了,所以是按需加载的
1、见到很多 spring-boot-starter-* : *就某种场景 2、只要引入starter,这个场景的所有常规需要的依赖我们都自动引入 3、SpringBoot所有支持的场景 https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter 4、见到的 *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。 5、所有场景启动器最底层的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency>