SpringBoot学习笔记 依赖管理
2017-09-16 12:39
471 查看
为完成不同需求的Spring应用构建,Spring Boot提供了多种不同的依赖管理模板,每种模板均为一系列已完成的依赖的管理。例如如需要构建web项目,我们只需添加spring-boot-starter-web的依赖即可,它会将你所需的其他依赖导入到你的工程中。官方称之为“物料清单”(Bills of Materials),也因此在使用时我们需要构建工具的支持,如Maven或者Gradle等。
Spring Boot提供了多种不同的Starters来满足我们对不同“物料清单的需求”,这些Starters均为依赖并命名格式为spring-boot-starter-*。通过使用这些starters,我们可以快速完成项目构建而一个个的进行依赖的导入。
同时我们在使用时也不必控制依赖的版本,Spring Boot提供了默认的版本进行管理,在我们升级Spring Boot的版本时,这些依赖的版本也会进行更新!
使用这种依赖管理包括两种方式:
继承Spring Boot的提供的父工程,需要在pom.xml中配置,如下:
2
3
4
5
这个父工程提供了多项的默认设置:
● 默认编译等级为Java1.6
● 默认编码为UTF-8
● 依赖管理模块(dependencyManagement),可以不配置version。
● maven插件及resource filter的配置
● 转为application.properties及application.yaml提供的resource filtering配置
○ 需要注意的一点是Spring Boot将Maven占位符设置为@…@,而不是常见的${…},如果需要替换可以通过设置resource.delimiter来完成
通过scope=import的方式引入
在很多时候我们需要继承自有的父工程或由于其他设置无法使用Spring Boot提供的父工程。此时可以通过scope=import的方式进行引入,如下:
2
3
4
5
6
7
8
9
10
11
此处通过scope=import的方式导入了依赖的管理配置。但此时我们无法通过在properties中覆盖对应的属性来完成version的控制(因为没有继承父工程)。以此应对的方式是通过在dependencyManagement中进行配置,并且要求在spring-boot-dependencies之前添加即可。同时,对应spring-boot-maven-plugin插件也需要显式配置才可以。
Spring Boot提供了多种不同的Starters来满足我们对不同“物料清单的需求”,这些Starters均为依赖并命名格式为spring-boot-starter-*。通过使用这些starters,我们可以快速完成项目构建而一个个的进行依赖的导入。
同时我们在使用时也不必控制依赖的版本,Spring Boot提供了默认的版本进行管理,在我们升级Spring Boot的版本时,这些依赖的版本也会进行更新!
使用这种依赖管理包括两种方式:
继承Spring Boot的提供的父工程,需要在pom.xml中配置,如下:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.BUILD-SNAPSHOT</version> </parent>1
2
3
4
5
这个父工程提供了多项的默认设置:
● 默认编译等级为Java1.6
● 默认编码为UTF-8
● 依赖管理模块(dependencyManagement),可以不配置version。
● maven插件及resource filter的配置
● 转为application.properties及application.yaml提供的resource filtering配置
○ 需要注意的一点是Spring Boot将Maven占位符设置为@…@,而不是常见的${…},如果需要替换可以通过设置resource.delimiter来完成
通过scope=import的方式引入
在很多时候我们需要继承自有的父工程或由于其他设置无法使用Spring Boot提供的父工程。此时可以通过scope=import的方式进行引入,如下:
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.0.0.BUILD-SNAPSHOT</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>1
2
3
4
5
6
7
8
9
10
11
此处通过scope=import的方式导入了依赖的管理配置。但此时我们无法通过在properties中覆盖对应的属性来完成version的控制(因为没有继承父工程)。以此应对的方式是通过在dependencyManagement中进行配置,并且要求在spring-boot-dependencies之前添加即可。同时,对应spring-boot-maven-plugin插件也需要显式配置才可以。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
相关文章推荐
- SpringBoot学习笔记(二) 依赖管理
- 【SpringBoot】2小时学会SpringBoot学习笔记( 第6章 事务管理 )
- Spring Boot学习笔记-创建第一个Spring Boot应用
- php管理依赖关系工具composer学习笔记
- 我的spring 事务管理学习笔记(一)
- springboot学习笔记2(拦截器,redis,授权登录,读取yml配置文件)
- springboot 学习笔记(一)
- Spring Boot 学习笔记(五) 配置Servlet容器
- Springboot - 学习笔记 ②
- Spring4学习笔记-泛型依赖注入
- Spring学习笔记五:Spring进行事务管理
- springboot 学习笔记1(gradle创建web工程)
- Beginning Spring学习笔记——第6章(三)使用Spring进行编程式事务管理
- Spring Boot 学习笔记【8】Spring Boot支持MyBatis
- Spring Boot学习进阶笔记(五)-添加定时任务
- Spring 4 学习笔记3:依赖注入(DI)
- Spring Boot学习笔记-实践建言
- Spring Boot学习笔记一(运行环境)
- Spring Boot 学习笔记(三)——特性
- HttpMessageConverters-spring-boot(1.5.6)-cloudfeign1.3.4 学习笔记