首页>Java>正文

Spring Boot依赖和注意点

时间:2019-01-05 11:45:39   来源: javastack Java技术栈   阅读:

一、Spring Boot依赖

使用Spring Boot很简单,先添加基础依赖包,有以下两种方式

1. 继承spring-boot-starter-parent项目


  1. <parent>

  2.    <groupId>org.springframework.boot</groupId>

  3.    <artifactId>spring-boot-starter-parent</artifactId>

  4.    <version>1.5.6.RELEASE</version>

  5. </parent>


2. 导入spring-boot-dependencies项目依赖


  1. <dependencyManagement>

  2.    <dependencies>

  3.        <dependency>

  4.            <groupId>org.springframework.boot</groupId>

  5.            <artifactId>spring-boot-dependencies</artifactId>

  6.            <version>1.5.6.RELEASE</version>

  7.            <type>pom</type>

  8.            <scope>import</scope>

  9.        </dependency>

  10. </dependencyManagement>

 

二、Spring Boot依赖注意点

1. 属性覆盖只对继承有效

This only works if your Maven project inherits (directly or indirectly) from spring-boot-dependencies. If you have added spring-boot-dependencies in your own dependencyManagement section withimportyou have to redefine the artifact yourself instead of overriding the property.

Spring Boot依赖包里面的组件的版本都是和当前Spring Boot绑定的,如果要修改里面组件的版本,只需要添加如下属性覆盖即可,但这种方式只对继承有效,导入的方式无效。


  1. <properties>

  2.    <slf4j.version>1.7.25<slf4j.version>

  3. </properties>

如果导入的方式要实现版本的升级,达到上面的效果,这样也可以做到,把要升级的组件依赖放到Spring Boot之前。


  1. <dependencyManagement>

  2.    <dependencies>

  3.        <!-- Override Spring Data release train provided by Spring Boot -->

  4.        <dependency>

  5.            <groupId>org.springframework.data</groupId>

  6.            <artifactId>spring-data-releasetrain</artifactId>

  7.            <version>Fowler-SR2</version>

  8.            <scope>import</scope>

  9.            <type>pom</type>

  10.        </dependency>

  11.        <dependency>

  12.            <groupId>org.springframework.boot</groupId>

  13.            <artifactId>spring-boot-dependencies</artifactId>

  14.            <version>1.5.6.RELEASE</version>

  15.            <type>pom</type>

  16.            <scope>import</scope>

  17.        </dependency>

  18.    </dependencies>

  19. </dependencyManagement>

Each Spring Boot release is designed and tested against a specific set of third-party dependencies. Overriding versions may cause compatibility issues.

需要注意,要修改Spring Boot的依赖组件版本可能会造成不兼容的问题。

 

2. 资源文件过滤问题

使用继承Spring Boot时,如果要使用Maven resource filter过滤资源文件时,资源文件里面的占位符为了使${}和Spring Boot区别开来,此时要用@...@包起来,不然无效。另外,@...@占位符在yaml文件编辑器中编译报错,所以使用继承方式有诸多问题,坑要慢慢趟。


上海尚学堂Java课程高级框架后另加上微服务课程,Spring Boot,Spring Cloud,Dubbo等重点讲解,详情可查看上海尚学堂Java培训课程大纲,需要学习资料视频教程,请联系客服小姐姐,预订免费试学。

分享:0