Spring IO Platform 作为Spring官网的排位第一的项目,解决Spring项目组合中版本依赖

简介:

Spring IO Platform是Spring官网中排第一位的项目。它将Spring的核心API集成到一个适用于现代应用程序的平台中。提供了Spring项目组合中的版本依赖。这些依赖关系是经过测试,可以保证正常工作。

为什么要使用?

Spring IO Platform主要是解决依赖版本的冲突问题。举个栗子:在使用Spring的时候,经常会使用到第三方库,一般大家都是根据经验挑选一个版本浩或挑选最新的,其实这是存在隐患的。除非做过完整的测试,保证集成该版本的依赖不会出现问题,否则风险很大,且后续扩展会越来越困难。因为随着业务复杂度的增加,集成的第三方组件会越来会多,依赖之间的关联也会也来越复杂。

Spring IO Platform正好解决了这些问题,在我们添加第三方依赖时,不需要写版本号,它能自动帮我们选择一个最优的版本,保证最大限度的扩展。

维护了哪些依赖?

Spring IO Platform维护的依赖非常多,挑选了一些常见的(更多详情请查看官网),如下表所示:

Group Artifact Version
org.springframework.boot spring-boot 1.5.10.RELEASE
ch.qos.logback logback-core 1.1.11
com.google.code.gson gson 2.8.2
com.rabbitmq amqp-client 4.0.3
com.rabbitmq http-client 1.1.1.RELEASE
junit junit 4.12
org.apache.tomcat tomcat-jdbc 8.5.27

使用Spring IO Platform

Spring IO Platform主要用于管理系统依赖,可以支持Maven和Gradle。

 

在Maven中使用Spring IO Platform

Spring IO Platform支持import和继承parent两种方式:

import的方式:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5
 6     <modelVersion>4.0.0</modelVersion>
 7
 8     <groupId>com.example</groupId>
 9     <artifactId>your-application</artifactId>
10     <version>1.0.0-SNAPSHOT</version>
11
12     <dependencyManagement>
13         <dependencies>
14             <dependency>
15                 <groupId>io.spring.platform</groupId>
16                 <artifactId>platform-bom</artifactId>
17                 <version>Brussels-SR7</version>
18                 <type>pom</type>
19                 <scope>import</scope>
20             </dependency>
21         </dependencies>
22     </dependencyManagement>
23     <!-- Dependency declarations -->
24 </project>

继承parent的方式:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6     <groupId>com.example</groupId>
 7     <artifactId>your-application</artifactId>
 8     <version>1.0.0-SNAPSHOT</version>
 9     <parent>
10         <groupId>io.spring.platform</groupId>
11         <artifactId>platform-bom</artifactId>
12         <version>Brussels-SR7</version>
13         <relativePath/>
14     </parent>
15     <!-- Dependency declarations -->
16 </project>

采用继承parent的方法,除了导入pom提供的依赖关系管理之外,应用程序还将获得一些插件管理,为许多插件提供合理的默认设置,包括Spring Boot的Maven插件。 要利用这个默认配置,需要做的就是把这个插件包含在你的pom的<plugins>部分中:

1 <build>
2     <plugins>
3         <plugin>
4             <groupId>org.springframework.boot</groupId>
5             <artifactId>spring-boot-maven-plugin</artifactId>
6         </plugin>
7     </plugins>
8 </build>

当想在自己的pom里添加了一个属于Spring IO Platform中的依赖的时候,可以直接省略版本号,如下所示:

1 <dependencies>
2     <dependency>
3         <groupId>org.springframework</groupId>
4         <artifactId>spring-core</artifactId>
5     </dependency>
6 </dependencies>

在Gradle中使用Spring IO Platform

如下所示,我们会应用io.spring.dependency-management这个插件,然后在dependencyManagement中导入bom

 1 buildscript {
 2     repositories {
 3         jcenter()
 4     }
 5     dependencies {
 6         classpath ‘io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE‘
 7     }
 8 }
 9 apply plugin: ‘io.spring.dependency-management‘
10 repositories {
11     mavenCentral()
12 }
13 dependencyManagement {
14     imports {
15         mavenBom ‘io.spring.platform:platform-bom:Brussels-SR7‘
16     }
17 }

当需要添加一个属于Spring IO Platform中的依赖的时候,写法与Maven类似,可以省略版本号,如下所示:

1 dependencies {
2     compile ‘org.springframework:spring-core‘
3 }

喜欢请关注我公众号--“精修Java”,做一些实战项目中的问题和解决方案分享。

原文地址:https://www.cnblogs.com/zhouqinxiong/p/spring_io_platform.html

时间: 2024-10-12 14:13:19

Spring IO Platform 作为Spring官网的排位第一的项目,解决Spring项目组合中版本依赖的相关文章

Spring IO platform 简介

前提:熟悉Spring基础知识. 简介:Spring IO Platform将 the core Spring APIs 集成到一个Platform中.它提供了Spring portfolio中的大量项目以及它们依赖的版本.--经过测试,工作完好. 另外,Spring IO Platform 基于 Spring Boot. platform-reference.pdf http://docs.spring.io/platform/docs/current/reference/html/getti

Spring IO Platform简介及示例

什么是Spring IO Platform Spring IO Platform,简单的可以认为是一个依赖维护平台,该平台将相关依赖汇聚到一起,针对每个依赖,都提供了一个版本号: 这些版本对应的依赖都是经过测试的,可以保证一起正常使用. 为什么要使用Spring IO Platform 主要是解决依赖版本冲突问题,例如在使用Spring的时候,经常会使用到第三方库,一般大家都是根据经验挑选一个版本号或挑选最新的,随意性较大,其实这是有问题的,除非做过完整的测试,保证集成该版本的依赖不会出现问题,

Spring官网阅读系列(九):Spring中Bean的生命周期(上)

在之前的文章中,我们一起学习过了官网上容器扩展点相关的知识,包括FactoryBean,BeanFactroyPostProcessor,BeanPostProcessor,其中BeanPostProcessor还剩一个很重要的知识点没有介绍,就是相关的BeanPostProcessor中的方法的执行时机.之所以在之前的文章中没有介绍是因为这块内容涉及到Bean的生命周期.在这篇文章中我们开始学习Bean的生命周期相关的知识,整个Bean的生命周期可以分为以下几个阶段: 实例化(得到一个还没有经

学习phalcon框架按照官网手册搭建第一个项目注册功能

中文手册官网:http://phalcon.ipanta.com/1.3/tutorial.html#bootstrap 官网提供http://www.tutorial.com项目源码github地址:https://github.com/phalcon/tutorial 搭建时候需要注意的问题: 1.虚拟主机的搭建: <VirtualHost *:80> DocumentRoot "D:/web/tutorial/" ServerName www.tutorial.com

RavenDB官网文档翻译系列第一

本系列文章主要翻译自RavenDB官方文档,有些地方做了删减,有些内容整合在一起.欢迎有需要的朋友阅读.毕竟还是中文读起来更亲切吗.下面进入正题. 起航 获取RavenDB RavenDB可以通过NuGet获取,也可以直接在RavenDB官网下载压缩包. 首先了解下压缩包中的内容,可以更好的根据需要进行选择. l  Backup  – 包含用于备份的Raven.Backup工具 l  Bundles – 包含所有非内置的插件,如Authentication和Encryption. l  Clie

xise官方网站|XISE官网|xise最新版下载|超级XISE WBMS管理V12.0版本官方网站|

诠释: 1. 破解VIP登陆限制 2.去后门 (自查) 下载地址 :https://pan.baidu.com/s/1eR2rUOM 查毒地址:http://a.virscan.org/a3983f36d31d08a51486501965d04cb5 文件名称: Xise_V20.0.exe MD5: a3983f36d31d08a51486501965d04cb5 文件类型: EXE 上传时间: 2017-03-23 11:41:26 出品公司: XISE WebShell管理 版本: 1.0

step4-----&gt;往工程中添加Spring的子项目spring IO Platform-------&gt;通过maven添加相关框架(pom.xml)

添加Spring IO Platform的目的: 避免自己的project的外部依赖(external dependencies)之间产生版本冲突问题.更多详细信息参见:Spring IO Platform概述 具体操作步骤: step1,往自己的工程中添加Spring IO Platform 编写project的pom.xml,添加如下代码,引入Spring IO Platform <dependencyManagement> <dependencies> <depende

如何在改版后的spring官网下载spring

今天了解了一下在spring官网下载spring,为了防止以后忘记,也方便更多网友了解,所以做个记录,方便查阅. 我就把步骤写的详细一些: 1.打开spring官网https://spring.io/ 2.点击页面右上角的PROJECTS; 3.点击页面 SPRING FRAMEWORK 3.进入页面后,点击下图中的红框中的图标: 4.在页面中找到如下的标签,点击红框所示区域 5.进入页面后,页面拉到最后,点击红框所示的地方: 6.进入到页面之后,首先点击左上角的Artifacts,然后找到中间

详解如何使用koa实现socket.io官网的例子

socket.io官网中使用express实现了一个最简单的IM即时聊天,今天我们使用koa来实现一下利用 socket.io 实现消息实时推送 框架准备 1.确保你本地已经安装好了nodejs和npm,使用koa要求node版本>7.6 2.在你需要的位置新建一个文件夹(官网的简单命名为chat-example) 3.进入项目目录,创建package.json文件: { "name": "socket-chat-example", "version