X
Let's get in touch

Spring Framework 4.0 for a happy new year

Spring Framework has been around for a decade. We have been using it for a long time. We know it quite well. We have become accustomed to it. We are sometimes lost without it. We used it in large enterprise systems, we used it for smaller greenfield projects, we used it for hacking and for fun. This is why we were a little afraid when we heard it was changing. The new version is here – and there is nothing to be afraid of.

Starting with version 3.0, Spring Framework went through a lot of modernization and cleanup. Some old models inherited from legacy enterprise systems are discouraged in favor or more lean and agile development methods. In version 4.0, enhancements are taken to the next level.

Spring IO platform

With the recently announced Spring IO platform, Spring gives developers a simpler way to deliver and integrate new application architectures, big data, devops and cloud-friendly deployment. As it says on the new redesigned and reimagined website, the platform brings together core Spring APIs into a cohesive and versioned foundational platform for modern applications.

io_platform

Annotation – driven programming model

XML, once dominant and indispensable tool in the Java developers toolbox, is becoming less and less dominant. Together with the new Servlet 3.0 annotations support, it is now possible to configure every aspect of your web application purely in Java. The old XML model is still here, so no need to be afraid of backwards compatibility. The difference is that now we have a choice when and where to use it.

 

Spring Boot and REST stack

Older monolithic and giant applications are being replaced by smaller systems working together in unison. We are no longer using highly coupled machinery with thousands of pieces that must be perfectly aligned to function properly. Micro service architectures built with REST design principles and cloud deployment in mind have proven to be more flexible and resilient approach in the world of rapidly changing software requirements.

Spring Boot is a project to simplify the creation of production-grade applications and services with minimum configuration and code. It can be used to create standalone web applications with embedded servers, or classic war deployments.

 

Along with annotation-driven Spring MVC and groovy, it is possible to build a fully functional and deployable REST service that can fit in a single tweet:

 

Reactive, event-driven applications

Web is everywhere, and it is now real-time. Spring 4.0 offers full HTML5/WebSocket integration and cross-browser firewall friendly support via advanced protocol negotiation. Also, the core message and channel abstractions from Spring Integration are now included in Spring Framework 4.0 to support server side messaging.

Stream processing and data integration

With more and more real time data coming into the system, applications need to adopt to the new surroundings. This is where Spring XD comes into play. Built on top of Spring Integration and Spring Batch, it provides support for big-data, batch and integration work. It is easier than ever to work with streams and sinks of data.

Java 8

Spring offers first Class Java 8 support throughout the framework. We are most excited about lambas. Working with callback and async style programming has proven useful, and this is where the new lambda syntax is going to be very helpful.

2014

Spring will continue to be our backbone for enterprise ready Java apps in 2014. We know it and we like it. However, we are always experimenting and evaluation new technologies and tools. Spring has had a great influence on Java Enterprise tools, and we are glad that modern JavaEE has also stepped up to the task.

JAX-RS, for example, with Jersey as a reference implementation, has turned out to be an excellent tool for quickly building REST services with modern semantics and full support for all REST features.

We are also eager to see how the Java 8 final release will turn out. We hope to start using all the new features as soon as possible. We’ll see how it stands against alternative JVM languages like Scala, Groovy, Kotlin, Clojure and others.

With Java and the JVM proving to be an excellent choice for the likes of Twitter, Amazon and Google, Java community produces a lot of excellent tools for building software. Today we can choose from many different frameworks, including Play 2.0, Grails, Google Web Toolkit and many others.

There are many uncertainties in the future, but one thing is clear – software engineering is rapidly changing and evolving. Any framework that wants to stay relevant and useful must adopt to new ideas and technologies. With enhancements in all aspects of the framework, Spring 4.0 has come to the forefront of modern development technologies. With all the improvements in the Java ecosystem and the push towards the new Java 8 programming model, 2014 is going to be an interesting year to create great software.

Leave your comment

We use cookies to help us optimize the website experience. Okay

Learn more about our privacy policy.