spring-boot-starter-parent作用

1.maven的spring-boot-starter-parent的作用?

答:

spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖。使用它之后,常用的包依赖可以省去version标签。

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/> 
    </parent>

2.parent的特性

Maven的用户可以通过继承spring-boot-starter-parent项目来获得一些合理的默认配置。这个parent默认提供了以下特性:

1.java版本默认使用1.8,但可添加以下配置修改版本:

<properties>
  <java.version>1.8</java.version>
</properties>

2.编码格式默认使用utf-8,但可添加以下配置修改编码:

<properties>
 <project.build.sourceEncoding>UTF8</project.build.sourceEncoding>
</properties>

3.一个引用管理的功能,在dependencies里的部分配置可以不用填写version信息,这些version信息会从spring-boot-dependencies里得到继承。
正常来说项目应该添加了以下带版本的依赖:

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.2.35</version>
</dependency>

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

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
 </dependency>

4.识别过来资源过滤
例如:maven默认会把src/main/resources下的所有配置文件以及src/main/java下的所有java文件打包或发布到target\classes下面,但是现实我们可能会在src/main/java下面也放置一些配置文件如hibernate配置文件或mybatis mapper配置文件等,如果不做一些额外配置,那我们打包后的项目可能找不到这些必须的资源文件,因此在pom.xml中增加类似如下配置:

<build>
    <resource>
       <directory>src/main/java</directory>
       <includes>
          <include>**/*.xml</include>
       </includes>
       <filtering>true</filtering>
    </resource>
</build>

就会将src/main/java下的xml文件随同java编译后的class文件一同copy到相应的class目录

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值