Sortie de Spring 4.0
Pivotal a annoncé la semaine dernière la sortie de Spring 4.0. Il s’agit du premier changement de version majeure depuis Spring 3.0, en 2009. Cette nouvelle version amène son lot de nouveautés et trace la voie prise par les technologies Spring au sein de la nouvelle structure Pivotal.
Spring 4.0 supporte déjà des nouveautés présentes dans Java 8, notamment les Lambdas. Le framework sera donc déjà prêt pour la sortie de Java 8, prévue pour mars 2014. Pour ceux qui utilisent déjà Java 8 grâce aux pre-releases, ils peuvent dès maintenant bénéficier de simplifications de syntaxe dans des classes comme le JdbcTemplate.
Une des grandes nouveautés est le support proposé pour les WebSocket. Les contrôleurs Spring MVC sont maintenant capables de recevoir et d’envoyer des messages via WebSocket, ouvrant des perpectives pour des applications temps réel et plus réactives. Spring MVC est capable de prendre en charge un fonctionnement en mode dégradé si le support WebSocket n’est pas disponible, tout en pouvant se brancher coté serveur sur un broker de messages complet comme RabbitMQ pour communiquer en STOMP (protocole de messaging utilisable avec WebSocket). Ce tour de force est rendu possible notamment par l’inclusion d’abstractions de Spring Integration directement dans Spring 4.0.
Spring 4.0 inclut aussi une version asynchrone du client REST RestTemplate, l’AsyncRestTemplate, afin de pouvoir travailler avec des Futures lors d’accès REST et donc de ne plus bloquer systématiquement le thread appelant.
Comme d’habitude lors d’une montée de version, les librairies les plus populaires que le framework supporte ont été mises à jour : Hibernate, Quartz, EhCache, etc. Les nouveautés de standards comme JMS – mis à jour dans Java EE 7 – ont aussi été incluses.
Vous pouvez déjà découvrir certaines de ces nouveautés dans les guides disponibles sur le site de Spring IO. Chaque guide permet de découvrir un sujet bien précis (ex. : le support WebSocket dans Spring MVC) en une quinzaine de minutes, code source à l’appui via un dépôt Github.
Spring 4.0 conforte aussi la direction prise il y a déjà plusieurs années : il ne s’agit plus d’un simple framework applicatif, mais d’une fondation technique pour l’ensemble de la plateforme Spring IO. Le tout nouveau projet Spring Boot est assez représentatif de cette évolution : il pousse la simplification d’une application Spring au maximum, du développement au déploiement, en lançant l’application dans un conteneur embarqué, ouvrant les applications Spring au monde des micro-services.
Spring 4.0 est compatible avec Spring 3.x (vous pouvez vérifier les éléments dépréciés), vous pouvez donc mettre à jour vos dépendances dès maintenant !