Мы рады сообщить о выходе Spring IO 1.0!
Spring IO является в первую очередь описанием того, что многие пользователи уже знают как единственную, согласованную и унифицированную платформу вокруг Spring.
Большие вещи приходят в маленькие(Java) пакеты
Платформа Spring IO включает Foundation Layer модули и Execution Layer целевых сред выполнения(DSR’ы). Foundation Layer состоит из основных Spring модулей и соответствующих сторонних зависимостей, которые были подобраны для обеспечения внимания на разработке. DSR’ы, представленные Spring IO Execution Layer, значительно упрощают создание близких к реальным задач на основе JVM. Первый релиз Spring IO включает два DSR: Spring Boot и Grails. Spring XD будет добавлен в течении 2014 года.
Spring поддерживает многие задачи приложений. Хотите получать данные из хранилища? Большое или специфичное хранилище? Создать решения для пакетной обработки данных? Интегрировать разнородные системы и данные? Работать с AMPQ? Использовать язык программирования Groovy для быстрой сборки web-приложения с Grails? Соединиться через защищенный OAuth протокол с REST-сервисами, такими как Twitter, Facebook или любым других защищенным по OAuth протоколу? Защитить приложение? Создать web-приложение с REST, websockets и др.?(С использованием HATEOAS?) Подключиться к инфраструктуре сервисов в вашей любимой PaaS платформе(например, Cloud Foundry)? Нужно управлять быстро, параллельно отправляя сообщения и обрабатывая события? Создавать публичные SOAP web-сервисы? Необходимо что-то ещё? Скорее всего, это решение вам подходит и вы знаете, где его искать!
С Spring Boot будет легко подключить эти модули(и многие другие!) вместе, как того требует ваше решение. Spring Boot является отличным способом для первоначальной и упрощенной непрерывной разработки.
Платформа в BOM
Платформа Spring IO также предоставляет актуальные согласованные API через Maven Bill-of-Materials зависимость. Сейчас легко рассуждать о применении версий зависимостей вместе в разрезе всего проекта. Если вы хотите получить самую последнюю и самую лучшую ревизию API, просто обновите вашу Spring IO зависимость. Spring IO, как платформа, также поддерживает популярные в работе ревизии сторонних инструментов(таких как Hibernate).
В конечном счете, Spring IO является просто набором библиотек в CLASSPATH
вашего приложения. Вы можете выбрать для работы конкретные версии зависимостей с использованием объекта <dependencyManagement/>
вашего инструмента сборки. Управление зависимостями является удобством, но не требованием.
Spring IO проверена на работу в JDK 1.7 и 1.8, хотя некоторые проекты под Spring IO будут также работать и с более старшими версиями JDK. Требуется только Java SE, поддерживается Groovy, Grails и некоторые Java EE. Как платформа, может быть развернуто на встроенных системах, классических серверах приложений и PaaS-окружениях.
Лучше меньше, да лучше
Здесь пример, как можно использовать Spring IO. Это простой Spring Boot REST-сервис, который, когда запущен, отвечает на HTTP запросы в форме http://127.0.0.1:8080/hello/SpringIO
.
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>
<!-- поддержка нашей зависимости Spring Boot's. Без версии. -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Транзитивно вносим в 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.