springBoot2.3-简单了解依赖管理、自动配置

发布时间:2024年01月04日

一、自动依赖管理

? ? ? ? 基本介绍: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 包里面
文章来源:https://blog.csdn.net/qq_36684207/article/details/135314265
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。