Spring Boot开启的2种方式详解
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文件编辑器中编译报错,所以使用继承方式有诸多问题,坑要慢慢趟。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: SpringBoot 统一异常处理详解
推荐阅读
-
Spring Boot开启的2种方式详解
-
Spring Boot 定制与优化内置的Tomcat容器实例详解
-
Springboot基于assembly的服务化打包方案及spring boot部署方式
-
详解Spring Boot下Druid连接池的使用配置分析
-
Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线程池的优雅关闭详解
-
spring boot使用thymeleaf模板的方法详解
-
详解Spring Boot中MyBatis的使用方法
-
spring boot Logging的配置以及使用详解
-
Spring boot的上传图片功能实例详解
-
详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理