Spring IO 平台参考指南

来源:互联网 发布:十大元帅 知乎 编辑:程序博客网 时间:2024/05/16 13:58

作者: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-corecom.codahale.metrics:metrics-gangliacom.codahale.metrics:metrics-graphitecom.codahale.metrics:metrics-servlets

推荐使用:

io.dropwizard.metrics:metrics-coreio.dropwizard.metrics:metrics-gangliaio.dropwizard.metrics:metrics-graphiteio.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所有组件的版本细节,当你声明一个依赖没有使用版本的时候,表中列出的版本将被使用。

Group Artifact Version antlr antlr 2.7.7 aopalliance aopalliance 1.0 bsf bsf 2.4.0 ch.qos.logback logback-classic 1.1.3 com.atomikos transactions-jdbc 3.9.3 com.atomikos transactions-jms 3.9.3 com.atomikos transactions-jta 3.9.3 com.beust jcommander 1.35 com.caucho hessian 4.0.38 com.codahale.metrics metrics-core 3.0.2 com.codahale.metrics metrics-ganglia 3.0.2 com.codahale.metrics metrics-graphite 3.0.2 com.codahale.metrics metrics-servlets 3.0.2 com.couchbase.client couchbase-client 1.4.8 com.datastax.cassandra cassandra-driver-dse 2.0.9.2 com.esotericsoftware.kryo kryo 2.22 com.fasterxml.jackson.core jackson-annotations 2.4.5 com.fasterxml.jackson.core jackson-core 2.4.5 com.fasterxml.jackson.core jackson-databind 2.4.5 com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.4.5 com.fasterxml.jackson.dataformat jackson-dataformat-yaml 2.4.5 com.fasterxml.jackson.datatype jackson-datatype-hibernate4 2.4.5 com.fasterxml.jackson.datatype jackson-datatype-jdk8 2.4.5 com.fasterxml.jackson.datatype jackson-datatype-joda 2.4.5 com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.4.5 com.gemstone.gemfire gemfire 7.0.2 com.github.fge json-patch 1.7 com.github.mxab.thymeleaf.extras thymeleaf-extras-data-attribute 1.3 com.github.spullara.redis client 0.7 com.goldmansachs gs-collections 5.1.0 com.google.code.findbugs jsr305 2.0.3 com.google.code.gson gson 2.3.1 com.google.code.typica typica 1.3 com.google.guava guava 17.0 com.google.inject guice 3.0 com.google.protobuf protobuf-java 2.5.0 com.googlecode.json-simple json-simple 1.1.1 com.googlecode.protobuf-java-format protobuf-java-format 1.2 com.h2database h2 1.4.185 com.ibm.jbatch com.ibm.jbatch-tck-spi 1.0 com.ibm.websphere uow 6.0.2.17 com.jamonapi jamon 2.4 com.jayway.jsonpath json-path 0.9.1 com.jcraft jsch 0.1.52 com.lambdaworks lettuce 2.3.3 com.lmax disruptor 3.2.1 com.lowagie itext 2.1.7 com.mchange c3p0 0.9.5 com.mysema.querydsl querydsl-apt 3.4.3 com.mysema.querydsl querydsl-core 3.4.3 com.mysema.querydsl querydsl-jpa 3.4.3 com.mysema.querydsl querydsl-lucene3 3.4.3 com.mysema.querydsl querydsl-mongodb 3.4.3 com.rabbitmq amqp-client 3.4.4 com.rometools rome 1.5.0 com.rometools rome-fetcher 1.5.0 com.samskivert jmustache 1.10 com.splunk splunk 1.3.0 com.sun.facelets jsf-facelets 1.1.14 com.sun.faces jsf-api 2.2.10 com.sun.faces jsf-impl 2.2.10 com.sun.mail imap 1.5.2 com.sun.mail javax.mail 1.5.2 com.sun.xml.messaging.saaj saaj-impl 1.3.25 com.sun.xml.wss xws-security 3.0 com.thoughtworks.qdox qdox 1.12.1 com.thoughtworks.xstream xstream 1.4.8 com.zaxxer HikariCP 2.2.5 com.zaxxer HikariCP-java6 2.2.5 commons-beanutils commons-beanutils 1.9.2 commons-beanutils commons-beanutils-core 1.8.3 commons-cli commons-cli 1.2 commons-codec commons-codec 1.10 commons-collections commons-collections 3.2.1 commons-configuration commons-configuration 1.6 commons-dbcp commons-dbcp 1.4 commons-digester commons-digester 2.1 commons-fileupload commons-fileupload 1.3.1 commons-httpclient commons-httpclient 3.1 commons-io commons-io 2.4 commons-lang commons-lang 2.6 commons-logging commons-logging 1.2 commons-net commons-net 3.3 commons-pool commons-pool 1.6 dom4j dom4j 1.6.1 … … …

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

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

0 0