Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

Jazoon : Spring 3.0 what's new ?

23 juin, 2009

Après Groovy, j’attaque ma tournée par une conférence d’une personne absente de Devoxx 2008, Jürgen Holler de SpringSource, pour sa présentation sur Spring 3.0. Il nous présentera une version actualisée par rapport à JavaOne, l’avantage d’être à Jazoon.

Jurgen Hoeler SpringSource Jazoon 2009

Jurgen Hoeler SpringSource Jazoon 2009

Voici le plan de sa présentation:
– Java 5 Themes
– REST
– EL expression language
– Annotated web controllers
– RoadMap

Dans un premier temps, Jurgen Hoeler, que j’avais interviewé en novembre dernier, nous donne la vision de Spring. La version 3.0 sera tout d’abord le support de Java 5, avec l’utilisation massif des annotations. Il explique par exemple que dans Spring MVC, l’objectif est d’apporter les améliorations via les Annotations. Pour cette raison il nous encourage à utiliser celles-ci plutôt que le code classique pour les Controllers par exemple.
Le support de l’expression language (EL) permet d’offrir des fichiers XML et des classes encore plus configurable. L’exemple qu’il a prit nous montre ainsi une DataSource dont le nom exact de la base n’est connu qu’à l’exécution. Si vos fichiers de configuration XML de Spring sont déjà configurables à l’aide de propriétés externes, cela vous semblera familier.
Viens ensuite la présentation de REST. Dans l’architecture de Spring 3.0, le support de REST sera là, et vu le temps passé pour nous en parler, on pense à Java EE 6 et au profile Lite qui n’a justement pas… JAX-RS en standard.
Le support de la JSR-303 (Bean Validation) aussi présent dans Java EE 6, sera offert par Spring. Comprendre par là, que les annotations seront reconnues et que la validation des beans sera effectuée par le framework Spring. Intéressant à noter.
Les Portlets 2.0 retiennent mon attention, c’est l’un des sujets en ce moment chez mon client. Tout d’abord il explique que la spécification Portlet 1.0 étant assez incomplète, le support des Portlets 2.0 par Spring devrait permettre d’offrir un socle simple pour écrire des Portlets. Il cite JBoss Portal et eXo Portal.
Concernant le support de Java EE 6, Spring 3.0 attend la sortie de la version finale de Java EE 6. Tout ce qui est JSF2.0 et JPA2.0 ne sont donc pas encore prévu dans la version qui sortira… courant juillet. Tout du moins pas officiellement, mais en early preview.

Un retour sur Java 5 pour nous montrer ce qu’il y a de nouveau. Tout d’abord grâce aux génériques, le framework offrira un typage plus fort comme dans cet exemple:

BeanFactory returns typed bean instances as far as possible
T getBean(String name, Class requiredType)
Map getBeansOfType(Class type)

Concernant l’exécution de tâches asynchrones, Spring 3.0 proposera un TaskExecutor (ce n’est pas déjà le cas ?). La gestion des tâches asynchrones sera plus facile. Pas de mentions des Annotations.

A propos de Spring WebFlow : la nouvelle version propose une version révisée de la gestion du binding et de la conversion de type.
A propos ensuite (vous suivez ?) de la gestion des Annotations standards de Java, Spring offre le support des annotations du projet Java Config, la gestion de l’instanciation tardive des Beans avec le mot clé @Lazy.

A propos de l’Expression Language j’ai pris un exemple de l’un de ses slides pour vous montrer comment il serait possible d’injecter une proprieté à l’exécution :

@Repository
public class R {
	@Value("#{systemProps.dbname}")
	public void setDatabaseName(String dbName){
	...
	}

}

N’importe quel de vos Beans Spring est accessible avec l’EL, ce qui permet aussi de récupérer la valeur d’une propriété d’un autre Bean pour l’injecter en paramètre… Je ne vous parle pas des problèmes d’instanciations tardives, car il est tard.

Concernant le support de REST avec Spring 3.0 : Spring MVC offre un support de REST accessible facilement et qui permet d’ajouter à une application Spring MVC le support de REST. Par contre si vous souhaitez utiliser JAX-RS… ce n’est pas possible. C’est l’un ou l’autre… « On attendra de voir ce que les clients veulent »

@RequestMapping(value = "/rewards/{id}",nethod = GET)
public Reward reward (@PathVariable("id") long id){
	return this.rewardsService.findReward(id);
}

Du côté du code, on note aussi l’apparition d’annotations supplémentaires (youpi déjà qu’on avait terminé tout l’autre stock, sympa d’en remettre encore) pour par exemple lire les paramètres des entêtes HTTP ou des Cookies, ce qui peut être utile pour la gestion de la localisation par exemple. Les 2 annotations sont @RequestHeader et @CookieValue.

Conclusion
Voilà pour la présentation de Spring. Jürgen est un bon speaker qui présente son sujet de manière synthétique. On sent la pression pour sortir en juillet la version, avant la sortie en septembre de son copain Java EE 6. L’un n’ayant d’ailleurs rien à voir avec l’autre.

Next please !

PS: j’ai rectifé l’orthographe de Jürgen, il suffisait de regarder le premier slide au début de cet article.

0 no like

Articles similaires:

Default ThumbnailEvénement Spring le 13 novembre 2008 Default ThumbnailIntroduction à Spring Integration Default ThumbnailSpring : keep-it under control Default ThumbnailCompte-rendu des Rencontres Spring 2008

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express