Spring Data Release Train Fowler Goes GA

On behalf of the Spring Data team I’d like to announce the availability of the GA version of Spring Data release train Fowler.The release ships almost 400 tickets solved.

The most core theme of the train is advanced support for Java 8: the MongoDB and JPA modules now support Streams as return type for repository methods and we now support non-time-zoned JDK 8 date/time types our of the box and also integrate with the Java 7 back-port of that API.

Spring Data MongoDB ships with compatibility for the 3.0 version of the server and the corresponding driver version. Spring Data Gemfire now supports Gemfire 8.0. The object-to-store mapping has seen some extensive performance improvements so that e.g. the MongoDB should see a decent increase in operations per second.


Multiple UI Applications and a Gateway: Single Page Application with Spring and Angular JS Part VI

Note: the source code and test for this blog continue to evolve, but the changes to the text are not being maintained here. Please see the tutorial version for the most up to date content.

In this article we continue our discussion of how to use Spring Security with Angular JS in a “single page application”. Here we show how to use Spring Session together with Spring Cloud to combine the features of the systems we built in parts II and IV, and actually end up building 3 single page applications with quite different responsibilities. The aim is to build a Gateway (like in part IV) that is used not only for API resources but also to load the UI from a backend server. We simplify the token-wrangling bits of part II by using the Gateway to pass through the authentication to the backends. Then we extend the system to show how we can make local, granular access decisions in the backends, while still controlling identity and authentication at the Gateway. This is a very powerful model for building distributed systems in general, and has a number of benefits that we can explore as we introduce the features in the code we build.