Spring I/O is the conference, which is leading the European Conference for the Spring Framework ecosystem. This year it will be the 8th edition and take place in Barcelona, Spain between 16 to 17 May and I’m going to attend it for the first time. This conference is also my first conference for this year, so I’m very excited 😊 about it.
Detailed agenda and topics will be available here. But I’m interested in below-mentioned topics:
The State of Java Relational Persistence
Configuration Management with Kubernetes, a Spring Boot use-case
Moving beyond REST: GraphQL and Java & Spring
Spring Framework 5.2: Core Container Revisited
JUnit 5: what’s new and what’s coming
Migrating a modern spring web application to serverless
Relational Persistence with Spring Data JDBC [Workshop]
Clean Architecture with Spring
How to secure your Spring apps with Keycloak
Boot Loot – up your game and Spring like the pros
Spring Boot with Kotlin, Kofu and Coroutines
Multi-Service Reactive Streams Using Spring, Reactor, and RSocket
Zero Downtime Migrations with Spring Boot
Apart from the conference, I am planning to visit Font Màgica de Montjuïc, which is near to the conference venue.
I’m open to further suggestions regarding my visit to Barcelona. What else should I visit? Is there any special food that I should try?
https://www.north-47.com/wp-content/uploads/2019/05/springio-2019.jpg6751200Amit Pethanihttps://www.north-47.com/wp-content/uploads/2018/09/logo_menu-copy-1-300x138.pngAmit Pethani2019-05-15 09:22:192019-05-15 12:01:40Spring I/O, The Conference in Barcelona - 2019
Spring Boot is the most used framework by Java developer for creating microservices. The first version of Spring Boot 1.0 was released in January 2014. After that many releases were done, but Spring Boot 2.0 is the first major release after its launch. Spring Boot-2.0 was released on March 2018 and while writing this blog, recently released version is 2.1.3, which was released on 15th February 2019.
There are many changes which will break your existing application if you want to upgrade from Spring Boot 1.x to 2.x. here is a described migration guide.
We are using Spring Boot 2.0 too 💻!
Currently, here at N47, we are implementing different services and also an in-house developed product(s). We decided to use Spring Boot 2.0 and we already have a blog post about Deploy Spring Boot Application on Google Cloud with GitLab. Check it out and if you have any questions, feel free to use the commenting functionality 💬.
Spring boot 2.0 requires Java 8 as minimum version and it also supports Java 9. if you are using Java 7 or earlier and want to use Spring Boot 2.0 version then it’s not possible, you have to upgrade to Java 8 or 9. also Spring Boot 1.5 version will not support Java 9 and new latest version of Java.
Spring Boot 2.1 has also supported Java 11. it has continuous integration configured to build and test Spring Boot against the latest Java 11 release.
Spring Boot’s Gradle plugin 🔌 has been mostly rewritten to enable a number of significant improvements. Spring Boot 2.0 now requires Gradle 4.x.
Third-party Library Upgrades
Spring Boot builds on Spring Framework. Spring Boot 2.0 requires Spring Framework 5, while Spring Boot 2.1 requires Spring Framework 5.1.
Spring Boot has upgraded to the latest stable releases of other third-party jars wherever it possible. Some notable dependency upgrades in 2.0 release include:
Some notable dependency upgrades in 2.1 release include:
Many projects in the Spring portfolio are now providing first-class support for developing reactive applications. Reactive applications are fully asynchronous and non-blocking. They’re intended for use in an event-loop execution model (instead of the more traditional one thread-per-request execution model).
Spring Boot 2.0 fully supports reactive applications via auto-configuration and starter-POMs. The internals of Spring Boot itself has also been updated where necessary to offer reactive alternatives.
Spring WebFlux & WebFlux.fn
Spring WebFlux is a fully non-blocking reactive alternative to Spring MVC. Spring Boot provides auto-configuration for both annotation-based Spring WebFlux applications, as well as WebFlux.fn which offers a more functional style API. To get started, use the starter spring-boot-starter-webflux POM which will provide Spring WebFlux backed by an embedded Netty server.
Reactive Spring Data
Where the underlying technology enables it, Spring Data also provides support for reactive applications. Currently, Cassandra, MongoDB, Couchbase and Redis all have reactive API support.
Spring Boot includes special starter-POMs for these technologies that provide everything you need to get started. For example, spring-boot-starter-data-mongodb-reactive includes dependencies to the reactive mongo driver and project reactor.
Reactive Spring Security
Spring Boot 2.0 can make use of Spring Security 5.0 to secure your reactive applications. Auto-configuration is provided for WebFlux applications whenever Spring Security is on the classpath. Access rules for Spring Security with WebFlux can be configured via a SecurityWebFilterChain. If you’ve used Spring Security with Spring MVC before, this should feel quite familiar.
Embedded Netty Server
Since WebFlux does not rely on Servlet APIs, Spring Boot is now able to support Netty as an embedded server for the first time. The starter spring-boot-starter-webflux POM will pull-in Netty 4.1 and Reactor Netty.
HTTP/2 support is provided for Tomcat, Undertow and Jetty. Support depends on the chosen web server and the application environment.
Spring Boot 2.0 now includes support for Kotlin 1.2.x and offers a functionrunApplication which provides a way to run a Spring Boot application using Kotlin.
There have been many improvements and refinements to the actuator endpoints with Spring Boot 2.0. All HTTP actuator endpoints are now exposed under the path and resulting /actuator JSON payloads have been improved.
In addition, the “Reactive Spring Data” support mentioned above, several other updates and improvements have been made in the area of Data.
Spring Data Web Configuration
Flyway/Liquibase Flexible Configuration
MongoDB Client Customization
Here I have mentioned only the list for changes in Data support but a detailed description will be available here for each topic.
Animated ASCII Art
Finally, Spring Boot 2.0 also provides support for animated GIF banners.
For a complete overview of changes in configuration go here and the release note for 2.1 available here.
https://www.north-47.com/wp-content/uploads/2019/03/springBoot2.png4261339Amit Pethanihttps://www.north-47.com/wp-content/uploads/2018/09/logo_menu-copy-1-300x138.pngAmit Pethani2019-03-13 10:32:442020-03-03 10:09:42Spring Boot 2.0 new Features