领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我们很高兴地宣布发布Spring IO 1.0!
Spring IO 首先是一个逻辑上的描述,它描述了许多用户已经知道并使用的单个、凝聚的、协调的平台,其核心是 Spring。
Spring IO 平台包含基础层模块和执行层特定领域运行时 (DSR)。基础层代表核心 Spring 模块和相关的第三方依赖项,这些依赖项已协调一致,以确保流畅的开发体验。Spring IO 执行层提供的 DSR 极大地简化了构建可用于生产的基于 JVM 的工作负载。Spring IO 的第一个版本包含两个 DSR:Spring Boot 和 Grails。Spring XD 将在 2014 年晚些时候添加到 Spring IO 平台。
Spring 支持许多应用程序工作负载。想要与数据存储进行交互?大型或专用数据存储?构建批处理解决方案?集成不同的系统和数据?使用AMQP?使用Groovy 编程语言 使用 Grails 快速构建 Web 应用程序?连接到像Twitter、Facebook或任何OAuth 安全的服务这样的 OAuth 安全的 REST 服务?保护应用程序?使用 REST、WebSockets 等构建Web 应用程序?(使用 HATEOAS?)连接到您最喜欢的平台即服务 (如 Cloud Foundry)上的基础设施服务?需要管理快速、响应式、并发、消息和事件调度?公开基于 SOAP 的 Web 服务?还需要我继续吗?如果您知道在哪里查找,很可能会有适合您的解决方案!
使用Spring Boot,可以轻松地将这些模块(以及更多其他模块!)组合到一个由约定驱动的解决方案中。Spring Boot 是引导和简化持续应用程序开发的好方法。
BOM
中的平台Spring IO 平台也是通过 Maven 物料清单 (BOM) 依赖项对 API 进行的实际协调。现在,很容易判断整个产品组合中哪些版本的依赖项可以一起工作。如果您想要获取 API 的最新版本,只需更新您的 Spring IO 依赖项即可。作为平台,Spring IO 还指定了常用第三方库(如 Hibernate)的已知可行版本。
但是,Spring IO 最终只是应用程序CLASSPATH
上的库。您可以选择使用构建工具的<dependencyManagement/>
功能来使用特定版本的依赖项。版本管理最终只是一个建议和便利,而不是要求。
Spring IO 经过认证,可与 Java 1.7 和 1.8 一起使用,尽管 Spring IO 下的特定项目通常也可以与更旧的 JDK 一起使用。它只需要 Java SE 并支持 Groovy、Grails 和一些 Java EE。作为一个平台,它可以部署在嵌入式运行时、经典应用程序服务器部署和 PaaS 环境中。
这是一个关于如何使用 Spring IO 的示例。这是一个简单的 Spring Boot REST 端点,运行时,它会响应表单为http://127.0.0.1:8080/hello/SpringIO
的 HTTP 请求。
hi/pom.xml
<?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>
<!-- our one dependency on Spring Boot's web support. No version. -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Transitively bring in the Spring IO Platform Bill-of-Materials `pom.xml` -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>1.0.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
hi/src/main/java/io/Application.java
package io;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Configuration
@EnableAutoConfiguration
@RestController
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@RequestMapping("/hello/{name}")
String hi(@PathVariable String name) {
return "Hello, " + name + "!";
}
}
在详尽的 Spring IO 文档中还有更多内容需要说明和阅读。它包含更多示例,并且还涵盖了 Gradle。