Retour sur la session "Entreprise Java Architectures with Spring 4.1" par Juergen Hoeller cofondateur de Spring Framework et toujours project lead et par Stéphane Nicoll membre de la core team Spring Framework et Spring Boot
La session s'est découpée en deux parties pas très équitable puisque Stéphane n'a eu que 5 minutes pour sa démo Spring Boot. Mais bon on ne peut pas en vouloir à Juergen Hoeller. Ce n'est pas tous les jours que nous l'avons en face de nous. Personnellement je suis un utilisateur de la première heure et ça m'a fait plaisir de le croiser une fois dans une conférence.
Au menu nous avons eu le droit à du Spring 4.1 qui est la version en cours de Spring. Si vous ne l'utilisez pas encore vous pouvez migrer vers cette dernière version les yeux presque fermés car la migration se fait vraiment en douceur… Je l'ai fait plusieurs fois ces derniers mois sans souci. C'est important de le souligner car ce n'est pas le cas avec tous les frameworks et notamment Hibernate pour n'en citer qu'un. Après même si les efforts sont plus ou moins grand, il est important de le faire pour avoir une architecture à jour. Les pirates profitent souvent des failles sur les anciennes versions des logicielles pour s'infiltrer et rester sur une stack à jour au niveau hard et soft est primordial.
Je ne vais pas revenir sur les slides sur le contenu de la version 4.1 ou de la prochaine 4.2 qui sortira en juillet car vous aurez des meilleurs informations sur les docs officielles.
Le but de Spring depuis le début est de faciliter le travail des développeurs quelque soit la plate forme utilisée. Avec les évolutions de Java en parallèle, le code est devenu de moins en moins verbeux. Nous utilisons certes plus d'annotations mais elles ont un double avantage
- elles facilitent la compréhension du code
- elles facilitent les migrations car elle découple le code de votre application du code du framework
@Service @Scope("session") @Primary @Transactional(rollbackFor=Exception.class) @Retention(RetentionPolicy.RUNTIME) public @interface MyService { boolean readOnly(); }
Ceci permet de mutualiser la définition des annotations mais aussi de spécifier des attributs par défaut. Ici tous les transactions associées à nos méthodes de service seront en readOnly=false.
Avec les dernières versions de Spring, de gros efforts ont été faits sur la partie configuration et notamment au niveau de l'injection des dépendances. Spring est par exemple capable de reconnaître le type pour l'injection d'un objet générique.
Au niveau de l'injection vous pouvez utiliser la JSR 330 avec les annotations @Inject, @ManagedBean, @Name.
Spring est aujourd'hui parfaitement utilisable avec Java 8. En attendant que les slides de Devoox soient diffusés vous pouvez vous appuyer sur ceux là qui reprennent les principaux points exposés à Devoxx ou ceux de Sébastien Deleuze suite à sa présentation au Jug qui parlent également de tous les apports de la 4.1 au niveau des contrôleurs MVC et des endpoints Rest, JMS, Websockets….
Dans les 5 minutes restantes de la conférence Stéphane Nicoll a mis en place une application Spring Boot connecté à une base de donnée, proposant plusieurs endpoints et utilisant Spring Security. Le but était de présenter le générateur d'application Spring https://start.spring.io/ qui permet en quelques clics de démarrer un projet. Ce générateur a été intégré dans la version 14.1 de IntelliJ.
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.