Spring IO 平台参考指南

作者:Andy Wilkinson
翻译:书山苦木

1.1.2.RELEASE (原地址

Copyright © 2014
本文档的副本可以供自己使用和分发给别人,只要你不收取任何费用的副本和进一步提供,每个副本包含版权声明,是否分布在打印或电子

Part I. Spring IO 平台文档

本节提供了Spring IO平台参考文档的简要概述

1. 关于文档

Spring IO平台参考文档可用于html pdf epub
最新的文档在 http://docs.spring.io/platform/docs/current/reference.
本文档的副本可以供自己使用和分发给别人,只要你不收取任何费用的副本和进一步提供,每个副本包含版权声明,是否分布在打印或电子。

2. 获得帮助

如果你对Spring IO平台有任何困难,可以从这里获得帮助:
+ 学习Spring 基础—— Spring IO平台汇集了很多Spring项目,spring.io网站有大量的参考文档。如果你刚开始接触,可以先看看指南。
+ 报告Spring IO平台bug : https://github.com/spring-io/platform/issues.

Spring IO平台是完全开源的,包含这个文档。如果你找到什么问题,或者希望他变得更好,请参与进来

Part II. 入门指南

本节提供了所有你需要知道Spring的入门指南。

3. 介绍Spring IO平台

Spring IO平台结合了Spring的核心api结合成一个整体现代应用程序的平台。它规定了很多Spirng组件以及依赖的版本,使得非常容易的协同工作。

4. 使用Spring IO平台

Spring IO平台主要是为了使用依赖关系管理系统。可以使用Maven或者Gradle。

4.1 Maven搭建Spring IO平台

平台使用Maven的依赖关系管理提供支持依赖版本应用程序的构建。使用这种依赖关系管理可以将平台的pom导入应用程序的pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>your-application</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.spring.platform</groupId>
                <artifactId>platform-bom</artifactId>
                <version>1.1.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement></project>

另外一种方式,不是import方式导入平台的pom,你可能更愿意使用它作为pom的parent:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>your-application</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <parent>
        <groupId>io.spring.platform</groupId>
        <artifactId>platform-bom</artifactId>
        <version>1.1.2.RELEASE</version>
        <relativePath/>
    </parent></project>

采用这种方式,除了导入pom提供依赖关系管理,您的应用程序还将需要增加Spring Boot的Maven插件。利用这个默认配置,你需要在<plugins>部分添加到pom:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

如果你希望同时使用平台和Spring Boot,没有使用平台的pom作为parent,你可以手动进行配置。可以参考Spring Boot的文档

无论哪一种方式,都没有依赖关系添加到你的应用。然而,当你声明一个依赖的平台的一部分,你将可以省略版本号。例如:

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
    </dependency>
</dependencies>

如果要了解更多的细节,包括在什么平台和所提供的版本,请点击

4.2 Gradle搭建Spring IO平台

使用Gradle构建Spirng IO平台,你可以使用于Maven相似的方式Gradle依赖管理插件。插件的使用是必要的,因为它不提供一个内置相当于Maven的依赖管理支持。

使用这个插件,您配置您的构建应用插件,然后在依赖管理配置您导入平台的bom:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'io.spring.gradle:dependency-management-plugin:0.4.1.RELEASE'
    }
}

apply plugin: 'io.spring.dependency-management'

repositories {
    mavenCentral()
}

dependencyManagement {
    imports {
        mavenBom 'io.spring.platform:platform-bom:1.1.2.RELEASE'
    }
}

有了这个配置然后您可以声明平台的依赖,不需要指定版本。

dependencies {
    compile 'org.springframework:spring-core'
}

如果要了解更多的细节,包括在什么平台和所提供的版本,请点击

Part III. 更新

本节提供了所有你需要知道的这个版本Spring IO平台的更新

5 不推荐使用

一些平台的组件已经被弃用的,在将来的版本将被删除。新的应用程序不应该使用废弃的组件,以确保顺利迁移路径未来版本的平台,现有的应用程序应该被更新。

5.1 platform-versions 组件

Spring IO 平台 1.1 版本,platform-versions属性不推荐使用。Maven用户不受到这个更新的影响。如果使用的是Gradle,你应该使用platform-bom替代:

dependencies {
    versionManagement 'io.spring.platform:platform-bom:1.1.2.RELEASE@properties'
}

5.2 Codahale metrics

Spring IO 平台 1.1 版本,4个Codahale metrics的依赖管理不推荐使用。它们是:

com.codahale.metrics:metrics-core
com.codahale.metrics:metrics-ganglia
com.codahale.metrics:metrics-graphite
com.codahale.metrics:metrics-servlets

推荐使用:

io.dropwizard.metrics:metrics-core
io.dropwizard.metrics:metrics-ganglia
io.dropwizard.metrics:metrics-graphite
io.dropwizard.metrics:metrics-servlets

5.3 net.java.dev.rome:rome

Spring IO 平台 1.1 版本, 不推荐使用net.java.dev.rome:rome,推荐使用com.rometools:rome

5.4 net.java.dev.rome:rome-fetcher

Spring IO 平台 1.1 版本, 不推荐使用net.java.dev.rome:rome-fetcher, 推荐使用com.rometools:rome-fetcher

5.5 net.sf.ehcache:ehcache-core

Spring IO 平台 1.1 版本,不推荐使用net.sf.ehcache:ehcache-core,推荐使用net.sf.ehcache:ehcache

5.6 org.apache.cassandra:cassandra-all

Spring IO 平台 1.1 版本,废弃org.apache.cassandra:cassandra-all

5.7 org.apache.tomcat:tomcat7-websocket

Spring IO 平台 1.1 版本,不推荐使用org.apache.tomcat:tomcat7-websocket。 Spring IO 平台 2.0 版本将使用Tomcat 8 org.apache.tomcat:tomcat-websocket来替代。

5.8 org.glassfish.tyrus:tyrus-websocket-core

Spring IO 平台 1.1 版本升级 Tyrus 到 1.3.5 (从1.2.1) tyrus-websocket-core已经不存在了. org.glassfish.tyrus:tyrus-websocket-core在1.2.1不推荐使用了, 应该更新到1.3.5来替代.

5.9 org.hibernate.javax.persistence:hibernate-jpa-2.0-api

Spring IO 平台 1.1 版本, 不推荐使用 org.hibernate.javax.persistence:hibernate-jpa-2.0-api,推荐使用org.eclipse.persistence:javax.persistence

5.10 org.neo4j:neo4j-graph-collections

Spring IO 平台 1.1 版本, 不推荐使用org.neo4j:neo4j-graph-collections

Part IV. 发布周期

本节描述平台的发布周期。

6. 综述

一个新的维护版本发生大约每6到8周。但是,有的时候新版本发生比这更快;例如,解决安全漏洞。这将减少发布时间。

除了上面描述的一般维护周期,平台的维护发行版通常会引发的Spring Boot的发行版。此外,一个新的维护版本的Spring框架往往会触发一个Spring Boot的发行版

平台的一个关键目标是为用户提供一个稳定的版本,保持向后兼容性,同时尽可能的。单Spring Framework or Spring Boot有bug的时候,会使使平台跳过一个版本,等待发布,解决问题。

Part V. 附件

附件A. 依赖的版本

下表提供Spring IO Platform所有组件的版本细节,当你声明一个依赖没有使用版本的时候,表中列出的版本将被使用。

GroupArtifactVersion
antlrantlr2.7.7
aopallianceaopalliance1.0
bsfbsf2.4.0
ch.qos.logbacklogback-classic1.1.3
com.atomikostransactions-jdbc3.9.3
com.atomikostransactions-jms3.9.3
com.atomikostransactions-jta3.9.3
com.beustjcommander1.35
com.cauchohessian4.0.38
com.codahale.metricsmetrics-core3.0.2
com.codahale.metricsmetrics-ganglia3.0.2
com.codahale.metricsmetrics-graphite3.0.2
com.codahale.metricsmetrics-servlets3.0.2
com.couchbase.clientcouchbase-client1.4.8
com.datastax.cassandracassandra-driver-dse2.0.9.2
com.esotericsoftware.kryokryo2.22
com.fasterxml.jackson.corejackson-annotations2.4.5
com.fasterxml.jackson.corejackson-core2.4.5
com.fasterxml.jackson.corejackson-databind2.4.5
com.fasterxml.jackson.dataformatjackson-dataformat-xml2.4.5
com.fasterxml.jackson.dataformatjackson-dataformat-yaml2.4.5
com.fasterxml.jackson.datatypejackson-datatype-hibernate42.4.5
com.fasterxml.jackson.datatypejackson-datatype-jdk82.4.5
com.fasterxml.jackson.datatypejackson-datatype-joda2.4.5
com.fasterxml.jackson.datatypejackson-datatype-jsr3102.4.5
com.gemstone.gemfiregemfire7.0.2
com.github.fgejson-patch1.7
com.github.mxab.thymeleaf.extrasthymeleaf-extras-data-attribute1.3
com.github.spullara.redisclient0.7
com.goldmansachsgs-collections5.1.0
com.google.code.findbugsjsr3052.0.3
com.google.code.gsongson2.3.1
com.google.code.typicatypica1.3
com.google.guavaguava17.0
com.google.injectguice3.0
com.google.protobufprotobuf-java2.5.0
com.googlecode.json-simplejson-simple1.1.1
com.googlecode.protobuf-java-formatprotobuf-java-format1.2
com.h2databaseh21.4.185
com.ibm.jbatchcom.ibm.jbatch-tck-spi1.0
com.ibm.websphereuow6.0.2.17
com.jamonapijamon2.4
com.jayway.jsonpathjson-path0.9.1
com.jcraftjsch0.1.52
com.lambdaworkslettuce2.3.3
com.lmaxdisruptor3.2.1
com.lowagieitext2.1.7
com.mchangec3p00.9.5
com.mysema.querydslquerydsl-apt3.4.3
com.mysema.querydslquerydsl-core3.4.3
com.mysema.querydslquerydsl-jpa3.4.3
com.mysema.querydslquerydsl-lucene33.4.3
com.mysema.querydslquerydsl-mongodb3.4.3
com.rabbitmqamqp-client3.4.4
com.rometoolsrome1.5.0
com.rometoolsrome-fetcher1.5.0
com.samskivertjmustache1.10
com.splunksplunk1.3.0
com.sun.faceletsjsf-facelets1.1.14
com.sun.facesjsf-api2.2.10
com.sun.facesjsf-impl2.2.10
com.sun.mailimap1.5.2
com.sun.mailjavax.mail1.5.2
com.sun.xml.messaging.saajsaaj-impl1.3.25
com.sun.xml.wssxws-security3.0
com.thoughtworks.qdoxqdox1.12.1
com.thoughtworks.xstreamxstream1.4.8
com.zaxxerHikariCP2.2.5
com.zaxxerHikariCP-java62.2.5
commons-beanutilscommons-beanutils1.9.2
commons-beanutilscommons-beanutils-core1.8.3
commons-clicommons-cli1.2
commons-codeccommons-codec1.10
commons-collectionscommons-collections3.2.1
commons-configurationcommons-configuration1.6
commons-dbcpcommons-dbcp1.4
commons-digestercommons-digester2.1
commons-fileuploadcommons-fileupload1.3.1
commons-httpclientcommons-httpclient3.1
commons-iocommons-io2.4
commons-langcommons-lang2.6
commons-loggingcommons-logging1.2
commons-netcommons-net3.3
commons-poolcommons-pool1.6
dom4jdom4j1.6.1

ps:依赖的包太多了,请参考官方文档

ps : 很久都没有翻译了,很多词都是看英文的,转换为中文不通顺呀!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值