[#] Большая миграция
habrabot(difrex,1) — All
2017-10-31 15:00:05


[![][1]][2]



# Предисловие {#predislovie}



Привет, %username%! Этот год принес много интересных новинок и приятных новостей. Вышел долгожданный релиз Spring 5, с реактивным ядром и [встроенной поддержкой Kotlin][3], для которой еще [появится][4] много всего интересного. Sébastien [представил][5] новый функциональный подход конфигурации Spring на Kotlin. Зарелизился [JUnit 5][6]. Близится релиз Kotlin 1.2 c улучшенной поддержкой мульти-платформенных приложений. И в этом году произошло знаменательное [событие][7]! Теперь Kotlin перешел от сборки на Groovy Dsl в Gradle на сборку с помощью Kotlin Dsl.



Как правило, начать сразу с нового стека проще, но всегда возникают вопросы насчет того, как реализовать старые подходы. Поэтому рассмотрим как на примере приложения написанного на Java, Spring Boot 1.5 (Spring 4+) с использованием Lombok и Groovy Dsl в Gradle, поэтапно перейти на Spring boot 2 (Spring 5), JUnit 5, Kotlin, и попробовать реализовать проект в функциональном стиле на `spring-webflux` без `spring-boot`. А также как перейти с Groovy Dsl на Kotlin Dsl. В посте основное внимание будет уделяться именно переходу, поэтому будет неплохо, если уже знакомы со Spring, Spring Boot и Gradle.



Для тех, кому лень читать, можно посмотреть пример кода на [github][8], для всех остальных — прошу под кат:

[Читать дальше →][9]

[1]: https://habrastorage.org/webt/59/f0/86/59f086932211d775363146.png
[2]: https://habrahabr.ru/company/alfa/blog/340942/
[3]: https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0
[4]: https://twitter.com/snicoll/status/924928995375878144
[5]: https://spring.io/blog/2017/08/01/spring-framework-5-kotlin-apis-the-functional-way
[6]: http://junit.org/junit5/
[7]: https://twitter.com/intelliyole/status/910531634843316225
[8]: https://github.com/evgzakharov/big_migration
[9]: https://habrahabr.ru/post/340942/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut