? ? ? ? 基本介绍:springBoot提前帮我们写好了极多的依赖及版本号,当然我们也可以自定义依赖项与版本号。
1、在入门案例中,springBoot的maven中引入了parent父工程
2、ctrl +?左键 parent,?发现里边还有一个祖宗parent,这个祖宗parent中,写好了极多的依赖及版本号
3、当然,我们开发不需要那么多的依赖都配置上
4、在入门springBoot中,?我们引入了web场景依赖 ,这时springBoot会从parent中取出web开发所需要的依赖及版本号
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
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>
????????我们引入web场景依赖后,发现默认的依赖中没有mysql驱动,此时应该怎么办呢?
? ? ? ??spring-boot-starter-web中默认没有mysql驱动,此时可以自己在你项目的依赖中去写(可以不需要写版本号,因为parent已经帮我们声明了)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
? ? ? ? 可以在项目maven中配置以下声明,就可以了(覆盖了原来自带的声明)
springBoot帮我们自动配置很多,例如如下内容
2.1自动配置好tomcat
? ? ? ? 引入依赖后,再配置好tomcat
2.2自动配置好springMVC
? ? ? ? 引入依赖后,再配置好springMVC,
? ? ? ? 例如:
????????????????2.2.1?自动配置好常见的web配置
????????????????????????dispatcherServlet ,?
????????????????????????视图解析器resolver(跳转页面),
????????????????????????characterEcodingFilter()(防止返回页面消息乱码?)
? ? ? ? ? ? ? ? ? ? ? ? 上传下载拦截器
? ? ? ? ? ? ? ? ? ? ? ? ..........等等
2.3?默认的包结构
????????主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来
? ? ? ?想要改变扫描路径,@SpringBootApplication(scanBasePackages="com.atguigu")
2.4?按需加载