欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 【Spring框架全系列】SpringBoot_基础_先知(详细)

【Spring框架全系列】SpringBoot_基础_先知(详细)

2025/6/24 16:53:30 来源:https://blog.csdn.net/2301_77431942/article/details/139423731  浏览:    关键词:【Spring框架全系列】SpringBoot_基础_先知(详细)

文章目录

    • 1.SpringBoot介绍
    • 2.创建一个SpringBoot项目
    • 3.parent标签 - 父工程
    • 4.starter依赖
    • 5.启动类和文件打包
    • 6.默认配置

1.SpringBoot介绍

Spring阶段最困扰大家的事情是什么? 配置 → 配置魔鬼

快速搭建一个独立的生产级别的Spring应用
快速引入项目相关依赖
开箱即用,约定大于配置,大多数应用只需要极少的Spring配置
内置JavaEE容器,可以以Jar包的方式启动

2.创建一个SpringBoot项目

  • 官网

start.spring.io选择groupId、ArtifactId、版本号、扫描包、JDK版本、项目构建方式、开发语言、引入的其他依赖来创建SpringBoot应用,点击Generate会下载一个zip压缩包,解压开就是一个SpringBoot应用,同时也是一个Maven工程

在这里插入图片描述

解压后会包含这样的文件,包含src目录、pom.xml文件、帮助文档、Git忽略管理配置文件、Maven相关文件

在这里插入图片描述

  • IDEA

其实需要的配置项和在官网上创建是完全一致的,只不过选择是在IDEA中选择,另外可以选择Project和Module的路径。

新建一个新的Project,其中starter service URL就是Spring官网创建SpringBoot应用的链接

在这里插入图片描述

选择依赖和SpringBoot应用的版本

在这里插入图片描述

创建好了
在这里插入图片描述

查看pomxml文件,我们发现刚才选择的SQL和Mvc的依赖帮我们配置好了

在这里插入图片描述

3.parent标签 - 父工程

所有的SpringBoot应用都有这样的一个父工程,parent标签里有一个version标签,SpringBoot应用的版本号;修改version标签里的值就是修改使用的使用SpringBoot版本
在这里插入图片描述

使用父工程的话,可以共享父工程里的配置 → 相同配置的解耦

父工程打包方式是pom,可以在本地仓库里找到这个文件

父工程中的标签

  • dependencies → 子工程里会引用父工程里依赖,SpringBoot应用中其实没有用到这个标签

  • dependencyManagement → 写的dependency标签的写法和我们前面的写法是一致的 → 提供的是依赖的版本信息,如果父工程中写了一个依赖,而子工程中也写了相同的依赖(groupid和artifactId一致)

  •   如果子工程中的依赖没有写版本号,复用父工程中的版本号
    
  •   如果子工程中的依赖写了版本号,使用自定义的这个版本号
    

和我们之前写的dependency标签不一样的点 → 没有写版本号

但实际上有版本信息 → 父工程(的父工程)中的dependencyManagement中的来

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.7</version>
</parent>

当前SpringBoot有一个爷爷工程,这个爷爷工程就是专门管理依赖的版本信息的

<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.7</version></dependency></dependencies>
</dependencyManagement>

在这里插入图片描述

答案:5.1.47,而不是8.0.31, boot默认给我们一个它规定的版本,只要我们手动写,那么boot就会使用我们手动配置的。

(注意!!!)实际开发

  • 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供
  • 如发生坐标错误,再指定version(要小心版本冲突)

4.starter依赖

引入的依赖中,artifactid中有一个starter这样的一个词,这样的依赖就叫其starter依赖

  • spring-boot-starter SpringBoot本身的依赖,所有的SpringBoot应用都有这个依赖

  • spring-boot-starter-xxx SpringBoot官方提供的依赖(groupid → org.springframework.boot),提供的是 SpringBoot对xxx技术的支持

      - 比如spring-boot-starter-web 就是SpringBoot对web技术的支持- 比如spring-boot-starter-tomcat就是SpringBoot对Tomcat的支持- 比如spring-boot-starter-json 就是SpringBoot对Json的支持
    
  • xxx-spring-boot-starter 第三方框架提供的依赖,提供的是SpringBoot对xxx技术的支持

     -  比如mybatis-spring-boot-starter,SpringBoot对MyBatis技术的支持- 比如pagehelper-spring-boot-starter
    

通常在SpringBoot中要使用某一项技术,只需要引入其starter依赖就可以了

为什么引入其starter依赖就可以了?

  • starter依赖中关联了其他依赖,当我们引入starter依赖的时候,会将该技术所需要的其他的依赖一同引入进来

     -	 举个例子:使用mybatis的话,引入mybatis-spring-boot-starter,mybatis、mybatis-spring、spring-jdbc都会被引入进来
    
  • starter依赖中通常会包含另外一个依赖autoconfigure依赖

     - autoconfigure依赖能够帮我们做自动配置,自动配置里最主要的是自动注册默认的组件
    

5.启动类和文件打包

SpringBoot应用最终打包为Jar包,packaging的默认值也是jar

① 对SpringBoot项目打包(执行Maven构建指令package)

② 执行启动指令

java -jar springboot_01_quickstart.jar # 项目的名称根据实际情况修改

注意事项:

jar支持命令行启动需要依赖maven插件支持,请确认打包时是否具有SpringBoot对应的maven插件。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

启动类:main方法所处的类 → 启动类的包目录就是SpringBoot应用默认的扫描包目录也相当于了我们的SpringConfig配置文件中的包扫描
在这里插入图片描述

6.默认配置

tomcat默认配置了端口号为8080
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词