Spring Boot开启的2种方式
原创: javastack Java技术栈 Java技术栈
微信号 javastack
功能介绍 专注分享Java技术干货,包括多线程、JVM、Spring Boot、Spring Cloud、Intellij IDEA、Dubbo、Zookeeper、Redis、架构设计、微服务、消息队列、Git、面试题、程序员攻略、最新动态等。
2017-08-28

Spring Boot依赖
使用Spring Boot很简单,先添加基础依赖包,有以下两种方式
1. 继承spring-boot-starter-parent项目
-
<parent> -
<groupId>org.springframework.boot</groupId> -
<artifactId>spring-boot-starter-parent</artifactId> -
<version>1.5.6.RELEASE</version> -
</parent>
2. 导入spring-boot-dependencies项目依赖
-
<dependencyManagement> -
<dependencies> -
<dependency> -
<groupId>org.springframework.boot</groupId> -
<artifactId>spring-boot-dependencies</artifactId> -
<version>1.5.6.RELEASE</version> -
<type>pom</type> -
<scope>import</scope> -
</dependency> -
</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绑定的,如果要修改里面组件的版本,只需要添加如下属性覆盖即可,但这种方式只对继承有效,导入的方式无效。
-
<properties> -
<slf4j.version>1.7.25<slf4j.version> -
</properties>
如果导入的方式要实现版本的升级,达到上面的效果,这样也可以做到,把要升级的组件依赖放到Spring Boot之前。
-
<dependencyManagement> -
<dependencies> -
<!-- Override Spring Data release train provided by Spring Boot --> -
<dependency> -
<groupId>org.springframework.data</groupId> -
<artifactId>spring-data-releasetrain</artifactId> -
<version>Fowler-SR2</version> -
<scope>import</scope> -
<type>pom</type> -
</dependency> -
<dependency> -
<groupId>org.springframework.boot</groupId> -
<artifactId>spring-boot-dependencies</artifactId> -
<version>1.5.6.RELEASE</version> -
<type>pom</type> -
<scope>import</scope> -
</dependency> -
</dependencies> -
</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文件编辑器中编译报错,所以使用继承方式有诸多问题,坑要慢慢趟。

396

被折叠的 条评论
为什么被折叠?



