springBoot2.3-简单了解依赖管理、自动配置
一、自动依赖管理
? ? ? ? 基本介绍:springBoot提前帮我们写好了极多的依赖及版本号,当然我们也可以自定义依赖项与版本号。
1.1? 简单介绍
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.2场景启动器
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>
1.3如何自定义依赖项及版本号
????????我们引入web场景依赖后,发现默认的依赖中没有mysql驱动,此时应该怎么办呢?
????????1.3.1?自定义依赖项
? ? ? ??spring-boot-starter-web中默认没有mysql驱动,此时可以自己在你项目的依赖中去写(可以不需要写版本号,因为parent已经帮我们声明了)
- 无需关注版本号,自动版本仲裁
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
????????1.3.2自定义版本
? ? ? ? 可以在项目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?按需加载
-
- SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!