spring 您所在的位置:网站首页 boot代码的作用 spring

spring

2023-09-01 10:32| 来源: 网络整理| 查看: 265

一、你的项目 pom.xml 中有这段代码吗 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE

new project > spring initializr 创建一个 Spring Boot 项目时:

或者是干脆从 https://start.spring.io/ 在线生成 Spring Boot 项目:

我们都会发现spring-boot-starter-parent的身影,那么他到底是干啥的呢

这是 Spring Boot 的父级依赖,这样当前的项目就是 Spring Boot 项目了。spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖。

使用它之后,常用的包依赖可以省去 version 标签,当我们搭建web应用的时候,可以像下面这样添加spring-boot-starter-web依赖:

org.springframework.boot spring-boot-starter-quartz 二、这个parent还提供了哪些特性呢

注意,关于 parent 提供的一些特性都是依据 maven 环境的,可以说 spring-boot-starter-parent 是 maven 独有的,如下是提供的一些特性:

默认使用Java8,可添加以下配置修改版本: 1.8 默认使用UTF-8编码,可添加以下配置修改编码: GBK 省略version信息 在 dependencies 里的部分配置可以不用填写 version 信息,这些 version 信息会从 spring-boot-dependencies 里得到继承。 org.springframework.boot spring-boot-starter-data-jpa 2.1.8

使用 spring-boot-starter-parent 的话,可以这样,继承默认版本:

org.springframework.boot spring-boot-starter-data-jpa

正常来说项目应该添加了以下带版本的依赖: 4. 识别过来资源过滤 例如,打包的时候把 src/main/resources 下所有文件都打包到包中。

src/main/resources **/*.* true 识别插件的配置

比如 exec plugin, surefire, Git commit ID, shade

能够识别 application.properties 和 application.yml 类型的文件,同时也能支持 profile-specific 类型的文件(如: application-foo.properties and application-foo.yml,这个功能可以更好的配置不同生产环境下的配置文件)。

三、覆盖并使用使用自己的依赖版本

使用 spring-boot-starter-parent 来帮我们管理 version 确实方便了不少,但是往往我们需要自己去配置某些版本,怎么办呢?

我们可以通过覆盖 properties 标签的 property 标签来达到修改依赖版本号的目的,例如上方的修改默认的编码方式、以及默认jdk版本:

1.8 UTF-8

为什么这样可以实现?

我们了解 Spring Boot Dependencies 定义了所有 Spring Boot 项目的默认依赖关系管理。如果我们想要使用特定依赖项的新版本,我们可以通过在项目 pom 中指定新属性来覆盖该版本。

下面的摘录显示了由 Spring Boot Dependencies 父 pom 管理的一些重要依赖项。由于 Spring Boot Starter Parent 继承自 spring-boot-dependencies,因此它也共享所有这些特性。

5.13.4 ... 2.10.2.2.21 3.1.1 ... 1.4.192 1.3 3.6.4 5.0.9.Final 5.2.4.Final 2.4.7 2.3.13 2.4.7.Final 2.3.3 2.21 4.1.2 4.5.2 4.4.5 8.2.2.Final 2.8.1 .... 2.23.1 2.0.3 9.3.11.v20160721 2.2.0.v201112011158 4.1.1.RELEASE 8.5.4 1.3.23.Final 1.7 2.0 9f96c74 0.32 1.6.3 1.4.01

所以,我们更改了 property 后,也实现了我们的需求,当然我们还有直接注明 version 的方式呢,如下:

mysql mysql-connector-java 5.1.47 四、一个完整的pom.xml实例 4.0.0 club.sscai.tmax tmax 0.0.1-SNAPSHOT tmax Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE 1.8 UTF-8 org.springframework.boot spring-boot-starter-web com.alibaba druid-spring-boot-starter 1.1.10 mysql mysql-connector-java 5.1.47 org.springframework.boot spring-boot-starter-data-jpa org.projectlombok lombok 1.18.4 io.springfox springfox-swagger-ui 2.7.0 io.springfox springfox-swagger2 2.7.0 org.springframework.boot spring-boot-devtools true org.springframework.boot spring-boot-maven-plugin


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有