理解spring-boot-starter-parent

通过spring initializr,我们可以快速构建一个springboot应用,如果你选择的是Maven来管理项目,在默认的pom文件中有这么一个section:

org.springframework.boot

spring-boot-starter-parent

2.1.1.RELEASE

它表示当前pom文件从spring-boot-starter-parent继承下来,在spring-boot-starter-parent中提供了很多默认的配置,这些配置可以大大简化我们的开发。

Parent Poms Features

通过继承spring-boot-starter-parent,默认具备了如下功能:

Java版本(Java8)

源码的文件编码方式(UTF-8)

依赖管理

打包支持

识别插件配置

识别不同的配置,如:application-dev.properties 和 application-dev.yml

以上继承来的特性有的并非直接继承自spring-boot-starter-parent,而是继承自spring-boot-starter-parent的父级spring-boot-dependencies

需要特别说明的是,application-dev.properties 和 application-dev.yml支持spring风格的占位符(${…​}),但是Maven项目把对占位符的支持改为(@..@),可以通过设置Maven属性resource.delimiter来重置回去。

继承spring-boot-starter-parent后,大大简化了我们的配置,它提供了丰富的常用的默认的依赖的版本定义,我们就不需要再次指定版本号:

org.springframework.boot

spring-boot-starter-web

假设我们需要定制自己的版本号,可以通过下面的方式重写:

Fowler-SR2

不继承spring-boot-starter-parent构建springboot项目

有时候项目可能有自己的parent poms,Maven只允许定义一个parent pom,这时的项目虽然没有继承自spring-boot-starter-parent,但是依赖管理始终需要的,可以通过如下配置引入spring-boot-dependencies的依赖管理功能:

org.springframework.boot

spring-boot-dependencies

2.2.0.BUILD-SNAPSHOT

pom

import

那么在这种情况下要重写依赖的版本号就需要用另外的方式:

org.springframework.data

spring-data-releasetrain

Fowler-SR2

pom

import

org.springframework.boot

spring-boot-dependencies

2.2.0.BUILD-SNAPSHOT

pom

import

除了依赖管理,打包也是需要的:

org.springframework.boot

spring-boot-maven-plugin

1.4.0.RELEASE

true

repackage

增加以上配置后就可以使用熟悉的mvn pacakge成一个jar了。

springboot创建parent_理解spring-boot-starter-parent相关推荐

  1. 深入理解 Spring Boot Starters 原理

    2019独角兽企业重金招聘Python工程师标准>>> Spring Boot Starter是在SpringBoot组件中被提出来的一种概念,stackoverflow上面已经有人 ...

  2. 深入理解 Spring Boot Starters 原理(手写Spring boot Start)

    一.Spring Boot Starter诞生原因 Spring Boot Starter是在SpringBoot组件中被提出来的一种概念,stackoverflow上面已经有人概括了这个starte ...

  3. Spring Boot中parent标签的作用

    在Spring Boot的官方示例中,都是让我们继承一个spring的 spring-boot-starter-parent作为parent标签 <parent><groupId&g ...

  4. 手把手教你定制标准 Spring Boot starter

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 写在前面 我们每次构建一个 Spring 应用程序时,我 ...

  5. 实现一个 Spring Boot Starter 原来如此简单,读 Starter 源码也不在话下

    我是风筝,公众号「古时的风筝」,一个在程序圈混迹多年,主业 Java,另外 Python.React 也玩儿的 6 的斜杠开发者.现已转行程序员鼓励师 Spring Cloud 系列文章已经完成,可以 ...

  6. 一个项目有两个pom_实现一个Spring Boot Starter超简单,读 Starter 源码也不在话下...

    Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...

  7. 一个简易上手的短信服务Spring Boot Starter,连傻瓜都会!

    作 者:jackieonway 来 源:jianshu.com/u/36510c75d37c 短信服务在用户注册.登录.找回密码等相关操作中,可以让用户使用更加便捷,越来越多的公司都采用短信验证的方式 ...

  8. 自定义 Spring Boot Starter

    一.引言 什么是Spring Boot Starter呢?我们直接来看看官网是怎么介绍的吧. Starters are a set of convenient dependency descripto ...

  9. 深入理解Spring Boot数据源与连接池原理

    ​ Create by yster@foxmail.com 2018-8-2 一:开始 在使用Spring Boot数据源之前,我们一般会导入相关依赖.其中数据源核心依赖就是spring‐boot‐s ...

最新文章

  1. “ u”到底是做什么的? “ git push -u原始主机”与“ git push原始主机”
  2. 关于hive开窗函数的问题
  3. 防止VLAN间的ARP***解决方案
  4. Mining Precision Interface From Query Logs -- 学习笔记(二)
  5. 【Blog.Core重要升级】:封装服务扩展层
  6. java流与文件——对象流和序列化
  7. python平方数迭代器_Python三大神器之迭代器详解
  8. python文件是怎么打开_python file怎么打开
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的在线作业管理系统
  10. Mac 修改Hosts文件的方式
  11. python: 集合操作符和关系符号
  12. Android 显示文字超过指定长度部分使用省略号表示
  13. R和RStudio安装包下载
  14. jeefast 添加非空判断
  15. PackageManagerService安装应用流程
  16. 同桌之间那些或暧昧或有趣的事
  17. OpenCV学习三十四:watershed 分水岭算法
  18. java分词器和索引器_solr-hbase二级索引及查询解决方案(一)
  19. 用IAR下载出现 Stack pointer is setup to incorrect alignment. Stack addr = 0xFFFFFFFF 如何解决?
  20. 危楼还望,叹此意、今古几人曾会? — 夜读南宋词人陈亮《念奴娇·登多景楼》感怀

热门文章

  1. 杭州某知名xxxx公司急招大量java以及大数据开发工程师
  2. hdu 5925 搜索
  3. Bash判断文件夹(目录)是否存在
  4. IBM SOA[ESB,BPM,Portal等]基础架构图解
  5. javascript中的命名规则和方法
  6. Java各进制之间的转换
  7. C语言指针,申请、释放内存,线程
  8. IntelliJ IDEA 对于generated source的处理
  9. Redis在windows下的配置
  10. Google发布文档数据库Firestore