<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hikage &#187; Spring Framework</title>
	<atom:link href="https://blog.developpez.com/hikage/pcategory/java/spring-framework/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/hikage</link>
	<description></description>
	<lastBuildDate>Mon, 23 May 2011 10:00:39 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Projet : Importation de templates de configuration Spring</title>
		<link>https://blog.developpez.com/hikage/p8773/java/spring-framework/projet_importation_de_templates_de_confi</link>
		<comments>https://blog.developpez.com/hikage/p8773/java/spring-framework/projet_importation_de_templates_de_confi#comments</comments>
		<pubDate>Thu, 08 Apr 2010 15:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Problème Sur certains projets, j&#8217;ai eu l&#8217;occasion de voir des fichiers de configuration Spring de ce type : &#60;import resource=&#34;monitoring-environnement1.xml&#34;/&#62; &#60;import resource=&#34;monitoring-environnement2.xml&#34;/&#62; &#60;import resource=&#34;monitoring-environnement3.xml&#34;/&#62; Et bien évidemment, chacun des fichiers de configurations importés était tous semblables, avec comme seule différence les noms de beans Spring ou des valeurs de propriétés. Si demain, un nouvel environnement devait être ajouté, je vous le donne dans le mille : un copier / coller, un s/environnement1/nouvel-environnement/g ! Même si [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2>Problème</h2>
<p>Sur certains projets, j&rsquo;ai eu l&rsquo;occasion de voir des fichiers de configuration Spring de ce type :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;import resource=&quot;monitoring-environnement1.xml&quot;/&gt; <br />
&lt;import resource=&quot;monitoring-environnement2.xml&quot;/&gt; <br />
&lt;import resource=&quot;monitoring-environnement3.xml&quot;/&gt;</div></div>
<p>Et bien évidemment, chacun des fichiers de configurations importés était tous semblables, avec comme seule différence les noms de beans Spring ou des valeurs de propriétés.<br />
Si demain, un nouvel environnement devait être ajouté, je vous le donne dans le mille : un copier / coller, un s/environnement1/nouvel-environnement/g  !</p>
<p>Même si cela fonctionne bien, ce n&rsquo;est pas la solution la plus propre : Si le système de monitoring devait être modifié, il faudrait éditer X fichiers, avec le risque d&rsquo;oublier un fichier, ou un valeur&#8230;</p>
<h2>Solution 1 : Créer un namepace dédié au monitoring</h2>
<p>Une première solution possible serait de remplacer ces imports par un namespace dédié au monitoring. Il suffirait dès lors d&rsquo;utiliser une configuration de ce type :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;monitoring:environnement name=&quot;environnement1&quot;/&gt; <br />
&lt;monitoring:environnement name=&quot;environnement2&quot;/&gt;</div></div>
<p>C&rsquo;est déjà beaucoup plus propre, mais cette solution n&rsquo;est pas des plus pratiques :</p>
<p>La configuration &laquo;&nbsp;générique&nbsp;&raquo; sera réalisée via une API spécifique à Spring, que peu de développeurs connaissent ( BeanDefinitionParser, ParserContext, BeanDefinitionRegistry, ..), ce qui rends toute modification assez complexe<br />
Le namespace sera dédié au monitoring ! Si le domaine des fichiers était tout autre, il faudrait développer un nouveau namespace.<br />
Le namespace va cacher aux utilisateurs les beans réellement instanciés.<br />
Bref, c&rsquo;est déjà mieux mais pas encore suffisamment claire et simple.</p>
<h2>Solution 2 : Créer un namepace d&rsquo;importation de modèles de configuration</h2>
<p>Afin de répondre à ces problématique, il est possible de créer un namespace beaucoup plus générique. Celui qui permettrait d&rsquo;importer une configuration classique (un modèle), mais en remplaçant certaines variables par des valeurs.</p>
<p>Le modèle serait un fichier de configuration Spring tout à fait compréhensible par des habitués de Spring, mais dans laquelle des variables seraient définies :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp;xsi:schemaLocation=&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd&quot;&gt; &nbsp;<br />
&nbsp;<br />
&nbsp; &nbsp; &lt;bean name=&quot;scheduledTimeTask.${environnement}&quot; class=&quot;org.springframework.scheduling.timer.ScheduledTimerTask&quot;&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name=&quot;timerTask&quot; ref=&quot;monitoringTask.${environnement}&quot;/&gt; &nbsp;<br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name=&quot;delay&quot; value=&quot;1000&quot;/&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name=&quot;period&quot; value=&quot;1000&quot;/&gt; <br />
&nbsp; &nbsp; &lt;/bean&gt; <br />
&nbsp; &nbsp; &lt;bean name=&quot;timer.${environnement}&quot; class=&quot;org.springframework.scheduling.timer.TimerFactoryBean&quot;&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;property name=&quot;scheduledTimerTasks&quot;&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;list&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;ref bean=&quot;scheduledTimeTask.${environnement}&quot;/&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;/list&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;/property&gt; <br />
&nbsp; &nbsp; &lt;/bean&gt; <br />
&nbsp; &nbsp; &lt;bean name=&quot;monitoringTask.${environnement}&quot; class=&quot;be.hikage.springtemplate.MonitoringTimerTask&quot;&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;property name=&quot;url&quot; value=&quot;${${environnement}.url}&quot;/&gt; <br />
&nbsp; &nbsp; &lt;/bean&gt; &nbsp;<br />
&nbsp;<br />
&lt;/beans&gt;</div></div>
<p>Ici, <strong>${environnement}</strong>, est une variable qui sera définie lors de l&rsquo;importation du modèle :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;hikage:import-template location=&quot;template-monitoring.xml&quot;&gt; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &lt;hikage:variable name=&quot;environnement&quot; value=&quot;environnement1&quot;/&gt; <br />
&lt;/hikage:import-template&gt;</div></div>
<h2>Conclusion</h2>
<p>Cette solution possède donc plusieurs avantages :</p>
<p>En cas de modification du modèle, un seul fichier devra être modifié.<br />
Le namespace pourra être utilisé pour différent domaine ( monotoring, etc .. )<br />
Le modèle sera modifiable par n&rsquo;importe quel développeur connaissant Spring, et tout à fait lisible</p>
<h2>Informations</h2>
<p>Ce projet est disponible sous licence Apache 2 sur http://code.google.com/p/spring-import-template/</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Livre : Spring par la pratique, 2ème edition ( Spring 3.0, Spring Dm, Spring Batch, .. )</title>
		<link>https://blog.developpez.com/hikage/p7790/java/spring-framework/livre_spring_par_la_pratique_2eme_editio</link>
		<comments>https://blog.developpez.com/hikage/p7790/java/spring-framework/livre_spring_par_la_pratique_2eme_editio#comments</comments>
		<pubDate>Wed, 24 Jun 2009 05:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Trois ans après la première édition, le tout premier livre francophone sur Spring et son portfolio se voit être mis à jour. Et comme pour la première fois, ce livre couvre des sujets inédits comme Spring Dm et la technologie OSGi, ou le nouveau serveur Spring Dm Server permettant de tirer parti de cette dernière. Mais ce n&#8217;est pas tout, il est l&#8217;un des tout premiers livres à couvrir Spring 3.0 ( toute langues confondues, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Trois ans après la première édition, le tout premier livre francophone sur Spring et son portfolio se voit être mis à jour.</p>
<p>Et comme pour la première fois, ce livre couvre des sujets inédits comme Spring Dm et la technologie OSGi, ou le nouveau serveur Spring Dm Server permettant de tirer parti de cette dernière.</p>
<p>Mais ce n&rsquo;est pas tout, il est l&rsquo;un des tout premiers livres à couvrir Spring 3.0 ( toute langues confondues, ce qui n&rsquo;est pas rien ! ). Pour rappel, cette version n&rsquo;est pas encore officiellement sortie.</p>
<p>D&rsquo;autres sujets ont de leur coté été mis à jour, c&rsquo;est le cas de Spring MVC, se basant maintenant sur le jeu d&rsquo;annotations ou le nouvellement nommé Spring Security, successeur de Acegi.<br />
Spring Batch fait aussi parti des sujets traités.</p>
<p>Bref, un pur bonheur pour ceux qui ne connaissent pas Spring, mais aussi un excellent livre pour ceux utilisant Spring 2.0 et voulant se remettre à niveau.</p>
<p>Quelques informations :</p>
<p>Sortie eBook : 23 Juin 2009, disponible sur <a href="http://izibook.eyrolles.com/9782212124217/Spring+par+la+pratique">izibook</a><br />
Sortie papier : le 7 juillet 2009</p>
<p><a href="http://www.developpez.net/forums/redirect-to/?redirect=http%3A%2F%2Fjava.developpez.com%2Flivres%2F%3Fpage%3DFrancais%23L221212421X">Critique du livre, en avant première</a></p>
<p>Bonne lecture et n&rsquo;hésitez pas à venir faire <a href="http://www.developpez.net/forums/d767872/java/general-java/spring/livre-spring-pratique-2eme-edition/">vos commentaires </a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Livre : Spring par l&#8217;exemple</title>
		<link>https://blog.developpez.com/hikage/p7594/java/livre_spring_par_l_exemple</link>
		<comments>https://blog.developpez.com/hikage/p7594/java/livre_spring_par_l_exemple#comments</comments>
		<pubDate>Thu, 14 May 2009 10:03:14 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Il y a quelques mois, Pearson Education avait pris contact avec l&#8217;équipe Java afin de les aider à choisir un livre Spring à traduire. Les deux livres proposés furent : Pro Spring 2.5 et Spring Recipes : A problem-Solution approach Après lecture des deux ouvrages dans leur langue d&#8217;origine, il est resorti que le meilleur choix était Spring Recipes. Sa particuliarité est de ne pas présenter Spring à la manière d&#8217;une documentation mais plus en [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il y a quelques mois, Pearson Education avait pris contact avec l&rsquo;équipe Java afin de les aider à choisir un livre Spring à traduire.</p>
<p>Les deux livres proposés furent : <a href="http://java.developpez.com/livres/?page=Spring#L9781590599211"><em>Pro Spring 2.5</em></a> et  <a href="http://java.developpez.com/livres/?page=Spring#L9781590599792"><em>Spring Recipes : A problem-Solution approach</em></a></p>
<p>Après lecture des deux ouvrages dans leur langue d&rsquo;origine, il est resorti que le meilleur choix était Spring Recipes. Sa particuliarité est de ne pas présenter Spring à la manière d&rsquo;une documentation mais plus en exposant des problèmes, et en proposant une solution pour laquelle Spring est intégrée, et pourquoi il l&rsquo;est.</p>
<p>Une bonne nouvelle pour les personnes réfractaires à l&rsquo;anglais, Pearson vient d&rsquo;annoncer la disponibilité de la traduction. Celle-ci comporte les deux premières parties de l&rsquo;ouvrage original, traduites par Hervé Soulard.</p>
<p>Pour plus d&rsquo;information :</p>
<p><a href="http://www.pearson.fr/livre/?GCOI=27440100495820">Présentation sur le site de Pearson Education</a><br />
<a href="http://www.pearson.fr/resources/download.cfm?GCOI=27440100495820&amp;thefile=2339_tdm.pdf">Table des matières</a><br />
<a href="http://www.pearson.fr/resources/download.cfm?GCOI=27440100495820&amp;thefile=2339_chap1-extrait.pdf">Extrait du chapitre 1 &#8211;  Inversion du contrôle</a><br />
<a href="http://www.pearson.fr/resources/download.cfm?GCOI=27440100495820&amp;thefile=2339_chap8-extrait.pdf">Extrait du chapitre 8 &#8211; Gestion des transactions</a><br />
<a href="http://www.springsource.com/node/1599">Annonce sur le site de SpringSource</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Injection de dépendances : Google et SpringSource travaillent ensemble</title>
		<link>https://blog.developpez.com/hikage/p7576/java/injection_de_dependances_google_et_sprin</link>
		<comments>https://blog.developpez.com/hikage/p7576/java/injection_de_dependances_google_et_sprin#comments</comments>
		<pubDate>Thu, 07 May 2009 12:27:16 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Lors que les termes Injection de dépendances sont cités, deux projets sont souvent pointés du doigts : Spring et Guice. Le premier est Spring Framework qui à largement contribué à la popularisation de ce concept. Le principe original de celui-ci était de créer des POJOs, et de lier ceux-ci via un fichier XML. L&#8217;intérêt premier était que les classes était très peu liées ni même au framework Spring. Quelques temps plus tard, Google Guice est [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Lors que les termes <em>Injection de dépendances</em> sont cités, deux projets sont souvent pointés du doigts : Spring et Guice.</p>
<p><span id="more-23"></span></p>
<p>Le premier est Spring Framework qui à largement contribué à la popularisation de ce concept. Le principe original de celui-ci était de créer des POJOs, et de lier ceux-ci via un fichier XML.</p>
<p>L&rsquo;intérêt premier était que les classes était très peu liées ni même au framework Spring. </p>
<p>Quelques temps plus tard, Google Guice est arrivé avec une autre technique.<br />
Le(s) fichier(s) XML devenant parfois très long, et n&rsquo;était pas directement géré par les outils de refactoring, un sytème d&rsquo;injection basé sur des annotations fut préféré par Google.</p>
<p>Ce système gagna un certains succès, et SpringSource à donc repris l&rsquo;idée en proposant un set d&rsquo;annotations aussi pour gérer les dépendances.</p>
<p>Que l&rsquo;on aime ou pas les annotations, elles ont un gros défaut : elles lient directement le code métier au framework d&rsquo;injection de dépendances !</p>
<p>Afin de résoudre ce problème, les deux Gurus ont décidé de travailler ensemble sur une nouvelle JSR pour standardiser l&rsquo;injection de dépendance.</p>
<p>Pour l&rsquo;instant, cette JSR ne comporte qu&rsquo;un jeu très restreint d&rsquo;annotation :</p>
<ul>
<li>@Inject</li>
<li>@Qualifier</li>
<li>@Scope</li>
<li>@Named</li>
<li>@Singleton</li>
</ul>
<p>Je trouve cette initiave intéressante, mais il faut encore voir quelles fonctionnalités des frameworks seront mis en place dans cette JSR.</p>
<p>Spring, et certainement Guice, proposent plus que de l&rsquo;injection de dépendance ( AOP, gestion des transaction, &#8230; ).</p>
<p>Si la JSR se limite à l&rsquo;injection, on finira tout de même par utilisé des fonctions propres à l&rsquo;implementation .. et donc le code ne sera de nouveau liés à un framework.</p>
<p>Plus d&rsquo;information :</p>
<p><a href="http://google-code-updates.blogspot.com/2009/05/javaxinjectinject.html">Blog Google</a><br />
<a href="http://blog.loof.fr/2009/05/javaxinject-enfin.html">Blog de Nicolas De Loof</a><br />
<a href="http://atinject.googlecode.com/svn/trunk/javadoc/javax/inject/package-summary.html">Draft de la spécification</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SpringOne 2009 &#8211; Annonces</title>
		<link>https://blog.developpez.com/hikage/p7559/java/spring-framework/springone_2009_annonces</link>
		<comments>https://blog.developpez.com/hikage/p7559/java/spring-framework/springone_2009_annonces#comments</comments>
		<pubDate>Thu, 30 Apr 2009 20:12:31 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Annonces]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Bien que n&#8217;ayant pas pu être présent cette année à SpringOne, voici les deux principales annonces : La première concerne SpringSource Tool Suite. Cet packaging d&#8217;Eclipse proposant divers outils pratique pour le développement avec Spring mais aussi OSGi avec Spring dm Server est proposé gratuitement. Avant cela, il était disponible uniquement pour les clients du support. La deuxième concerne un nouveau projet dans le portfolio Spring : Spring Roo ( prononcez Rou, comme Kango-roo ). [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Bien que n&rsquo;ayant pas pu être présent cette année à SpringOne, voici les deux principales annonces :</p>
<p>La première concerne SpringSource Tool Suite. Cet packaging d&rsquo;Eclipse proposant divers outils pratique pour le développement avec Spring mais aussi OSGi avec Spring dm Server est proposé gratuitement. Avant cela, il était disponible uniquement pour les clients du support.</p>
<p>La deuxième concerne un nouveau projet dans le portfolio Spring : Spring Roo ( prononcez Rou, comme Kango-roo <img src="https://blog.developpez.com/hikage/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> ).<br />
Derrière ce nom farfelu se cache un Grails ( ou un Rail ) pour Java ! </p>
<p>N&rsquo;ayant pas encore eu le temps de jouer avec, je vous conseille la lecture de cet <a href="http://blog.proxiad.com/2009/04/29/le-mysterieux-spring-roo-un-java-on-rails/">article </a> ou bien <a href="http://stsmedia.net/introducing-spring-roo/">celui-ci</a> ( en anglais, mais écrit par un des développeur de Spring Roo ).</p>
<p>Bonne lecture !</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SpringSource University</title>
		<link>https://blog.developpez.com/hikage/p7390/java/spring-framework/springsource_university</link>
		<comments>https://blog.developpez.com/hikage/p7390/java/spring-framework/springsource_university#comments</comments>
		<pubDate>Fri, 20 Mar 2009 20:15:29 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Il y a quelques jours, SpringSource à mis à jour la partie de son site correspondant aux formation et certifications. Ce programme s&#8217;appelle désormais SpringSource University, qui comprends des formations sur Spring, mais aussi sur Groovy, Grails et Apache HTTPD et Tomcat. Les formations sont classées en deux grandes catégories La première catégorie est celles des formations orientées &#171;&#160;Equipe de Developpement&#160;&#187;. Celle-ci regroupe les formations sur Spring, Groovy&#38;Grails, OSGi et ActiveMQ. La deuxième concernant l&#8217;équipe [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il y a quelques jours, SpringSource à mis à jour la partie de son site correspondant aux formation et certifications.<br />
Ce programme s&rsquo;appelle désormais SpringSource University, qui comprends des formations sur Spring, mais aussi sur Groovy, Grails et Apache HTTPD et Tomcat.<br />
<span id="more-42"></span><br />
Les formations sont classées en deux grandes catégories</p>
<p>La première catégorie est celles des formations orientées &laquo;&nbsp;Equipe de Developpement&nbsp;&raquo;. Celle-ci regroupe les formations sur Spring, Groovy&amp;Grails, OSGi et ActiveMQ. </p>
<p>La deuxième concernant l&rsquo;équipe de production et comporte des formations sur l&rsquo;administration et l&rsquo;optimisation de Tomcat, Apache HTTP ainsi que sur Tc Server.</p>
<p>Mais la grosse nouveauté est l&rsquo;apparition de deux nouvelles certification :</p>
<p>SpringSource Certified Enterprise Integration Specialist : JMS, Service Web ( SOAP et REST ), ..</p>
<p>SpringSource Certified Web Specialist : Spring WebFlow, Spring JavaScript, Spring Faces</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SpringSource : Spring BlazeDS Integration M2</title>
		<link>https://blog.developpez.com/hikage/p7320/java/spring-framework/springsource_spring_blazeds_integration_</link>
		<comments>https://blog.developpez.com/hikage/p7320/java/spring-framework/springsource_spring_blazeds_integration_#comments</comments>
		<pubDate>Fri, 06 Mar 2009 07:51:38 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[La seconde Milestone de Spring BlazeDS est annoncée => Télécharger => Annonce => Documentation => Changelog Cette version apporte un nouveau namespace afin de faciliter la configuration du framework : &#60;!-- Configuration du messageBroker ( remplacement du MessageBrokerFactoryBean ) --&#62; &#60;flex:message-broker services-config-path=&#34;classpath*:services-config.xml&#34; &#160; &#160; &#160; &#160; &#60;!-- Configuration du messageBroker ( remplacement du FlexRemotingServiceExporter ) --&#62; &#60;flex:remote-service ref=&#34;monBeanService&#34; /&#62; L&#8217;autre importante nouveauté est la gestion de la sécurité avec Spring Security.]]></description>
				<content:encoded><![CDATA[<p>La seconde Milestone de Spring BlazeDS est annoncée</p>
<p>=> <a href="http://www.springsource.com/download/community?project=Spring%20BlazeDS%20Integration">Télécharger</a><br />
=> <a href="http://www.springsource.org/node/1100">Annonce</a><br />
=> <a href="http://static.springframework.org/spring-flex/docs/1.0.x/reference/html/index.html">Documentation</a><br />
=> <a href="http://static.springframework.org/spring-flex/docs/1.0.x/changelog.txt">Changelog</a></p>
<p><span id="more-41"></span></p>
<p>Cette version apporte un nouveau namespace afin de faciliter la configuration du framework :</p>
<pre>

<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;!-- Configuration du messageBroker ( remplacement du MessageBrokerFactoryBean ) --&gt; <br />
&lt;flex:message-broker services-config-path=&quot;classpath*:services-config.xml&quot; &nbsp; &nbsp; &nbsp;<br />
&nbsp;<br />
&lt;!-- Configuration du messageBroker ( remplacement du FlexRemotingServiceExporter ) --&gt; <br />
&lt;flex:remote-service ref=&quot;monBeanService&quot; /&gt;</div></div>

</pre>
<p>L&rsquo;autre importante nouveauté est la gestion de la sécurité avec Spring Security.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring 3.0 Milestone 2</title>
		<link>https://blog.developpez.com/hikage/p7286/java/spring_3_0_milestone_2</link>
		<comments>https://blog.developpez.com/hikage/p7286/java/spring_3_0_milestone_2#comments</comments>
		<pubDate>Thu, 26 Feb 2009 07:53:43 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Un peu plus de 2 mois après la première milestone, SpringSource annonce la Milestone 2 de Spring Framework 3.0 Pour rappel, cette version se base sur Java 5 mais reste compatible J2EE 1.4 et JEE 5. Parmis les nouveautés : Plus de fonctions de type Java 5 utilisant les Collections et Map génériques, plus de FactoryBean générifiés Mise à jour l&#8217;API de concurrence de Spring (TaskExecutor) utilisant les nouvelles fonctionnalités de Java 5 Ajout du [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Un peu plus de 2 mois après la première milestone, SpringSource annonce la Milestone 2 de Spring Framework 3.0</p>
<p>Pour rappel, cette version se base sur Java 5 mais reste compatible J2EE 1.4 et JEE 5.<br />
<span id="more-40"></span></p>
<p>Parmis les nouveautés :</p>
<ul>
<li>Plus de fonctions de type Java 5 utilisant les Collections et Map génériques, plus de FactoryBean générifiés</li>
<li>Mise à jour l&rsquo;API de concurrence de Spring (TaskExecutor) utilisant les nouvelles fonctionnalités de Java 5</li>
<li>Ajout du module OXM (Object/XML Marshalling) dans Spring Core. Ce module provient à l&rsquo;origine du projet Spring WS, et permet une intégration facile des outils de marshalling ( JAXB, JiBX, Castor, XMLBean et XStream ) dans une application. </li>
<li>Ajout d&rsquo;un client REST (RestTemplate) </li>
<li>Spring Portlet MVC se base dorénavant sur le standard Portlet 2.0</li>
<li>Ajout d&rsquo;un support basique de JPA 2.0</li>
</ul>
<p>Par contre, il n&rsquo;y a pas encore de documentation officielle pour la milestone 2.</p>
<p>Concernant la milestone 3, celle-ci devrait ajouté le support de la validation déclarative (JSR-303 BeanValidation), de nouvelles annotations, de nouveaux namespaces ( ORM, scheduling ). Spring  MVC quand à lui va se voir refondre le système de gestion des conversation.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sortie de Spring 3.0 M1</title>
		<link>https://blog.developpez.com/hikage/p6887/java/sortie_de_spring_3_0_m1</link>
		<comments>https://blog.developpez.com/hikage/p6887/java/sortie_de_spring_3_0_m1#comments</comments>
		<pubDate>Sat, 06 Dec 2008 11:26:54 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Annonces]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring Framework]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Attendue depuis plusieurs semaines déjà, la première version milestone de Spring 3.0 est enfin annoncée. Pour rappel, cette version se base sur Java 5 mais reste compatible J2EE 1.4 et JEE 5. Parmi les grands changements Une nouvelle structure pour le projet ainsi qu&#8217;un nouveau système de build Mise à jour du code pour utiliser pleinement Java 5 ( Generics, varargs, &#8230; ) Support des expressions languages pour la configuration Utilisation de #{} dans les [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Attendue depuis plusieurs semaines déjà, la première version milestone de Spring 3.0 est enfin annoncée.</p>
<p>Pour rappel, cette version se base sur Java 5 mais reste compatible J2EE 1.4 et JEE 5.<br />
<span id="more-11"></span></p>
<p>Parmi les grands changements</p>
<ul>
<li>Une nouvelle structure pour le projet ainsi qu&rsquo;un nouveau système de build</li>
<li>Mise à jour du code pour utiliser pleinement Java 5 ( Generics, varargs, &#8230; )</li>
<li>Support des expressions languages pour la configuration
<ul>
<li>Utilisation de #{} dans les fichiers XML</li>
<li>@Value pour l&rsquo;utilisation directement dans le code</li>
</ul>
</li>
<li>Début du support de REST</li>
<li>Utilisation d&rsquo;un déport Subversion à la place de l&rsquo;ancien CVS</li>
</ul>
<p><strong>Liens</strong></p>
<p>=> <a href="http://dist.springframework.org/milestone/SPR/spring-framework-3.0.0.M1.zip">Télécharger</a><br />
=> <a href="http://blog.springsource.com/2008/12/05/spring-framework-30-m1-released/">Annonce</a><br />
=> <a href="http://static.springframework.org/spring/docs/3.0.x/api/index.html">Javadoc</a><br />
=> <a href="http://static.springframework.org/spring/docs/3.0.x/reference/index.html">Documentation</a><br />
=> <a href="http://static.springframework.org/spring/docs/3.0.x/changelog.txt">Changelog</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips : Envoyer un email &#8211; Version 1</title>
		<link>https://blog.developpez.com/hikage/p6882/java/tips_envoyer_un_email_simple</link>
		<comments>https://blog.developpez.com/hikage/p6882/java/tips_envoyer_un_email_simple#comments</comments>
		<pubDate>Mon, 08 Dec 2008 06:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Hikage]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring Framework]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Dans des projets d&#8217;entreprises, nous sommes très rapidement confrontés à la nécessité d&#8217;envoyer un email. Que ce soit pour notifier une commande, pour envoyer un mot de passe lors de la création d&#8217;un utilisateur ou encore pour envoyer une alerte lorsqu&#8217;un problème de traitement survient. En Java, l&#8217;envoi d&#8217;email passe par l&#8217;API JavaMail. Celle-ci est très puissante, mais n&#8217;est pas des plus simple à utiliser. Mais si par chance, vous travaillez déjà avec Spring Framework [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Dans des projets d&rsquo;entreprises, nous sommes très rapidement confrontés à la nécessité d&rsquo;envoyer un email.<br />
Que ce soit pour notifier une commande, pour envoyer un mot de passe lors de la création d&rsquo;un utilisateur ou encore pour envoyer une alerte lorsqu&rsquo;un problème de traitement survient.</p>
<p>En Java, l&rsquo;envoi d&rsquo;email passe par l&rsquo;API JavaMail. Celle-ci est très puissante, mais n&rsquo;est pas des plus simple à utiliser.<br />
Mais si par chance, vous travaillez déjà avec Spring Framework dans votre projet, vous pourrez facilement envoyer des emails sans connaitre JavaMail.</p>
<p><span id="more-17"></span></p>
<p>Pour mon exemple, je vais créer un service qui aura la responsabilité d&rsquo;envoyer un email lorsqu&rsquo;une erreur surviendra.<br />
Pour cela, nous allons tout d&rsquo;abord définir le contrat du service</p>
<p><img src="http://blog.developpez.com/media/1-interface_04.png" width="558" height="276" alt="Interface du service d'email" /></p>
<p>Une fois cela fait, nous allons créer une implémentation, utilisant les classes d&rsquo;aides de Spring :</p>
<p><img src="http://blog.developpez.com/media/2-implementation.png" width="740" height="397" alt="Implémentation du service d'email" /></p>
<p>Vous pouvez voir qu&rsquo;une instance de MailSender est injectée ( Point 1 ). Cette interface fait partie du framework Spring et est est le point d&rsquo;entrée de l&rsquo;API Spring pour l&rsquo;envoie de courrier électronique. Cette interface possède deux méthodes permettant d&rsquo;envoyer un ou plusieurs messages:</p>
<p><img src="http://blog.developpez.com/media/3.mailsenderapi.png" width="621" height="476" alt="Spring MailSender " /></p>
<p>Ces messages devant être du type SimpleMailMessage, il est donc nécessaire de créer une instance de ce type ( Point 2 ).<br />
Il ne nous reste plus qu&rsquo;a remplir les informations de l&rsquo;email : adresse de destination, adresse d&rsquo;origine, le sujet et le texte ( Point 3 ).</p>
<p>La dernière étape consiste à utiliser le MailSender pour envoyer le message ( Point 4 ).</p>
<p>Il ne nous reste plus qu&rsquo;à fournir l&rsquo;implémentation du MailSender à notre service pour que le tout fonctionne.<br />
Cet étape étant purement de la configuration Spring :</p>
<p><img src="http://blog.developpez.com/media/4.configuration.png" width="609" height="227" alt="Configuration pour le service d'email" /></p>
<p>L&rsquo;implémentation utilisée est de type JavaMailSenderImpl, et donc nous retrouvons bien l&rsquo;API de base JavaMail sans avoir à connaître son utilisation directe.</p>
<p>Cela dit, cette première version n&rsquo;est pas complète. En effet, si le texte et le sujet des emails envoyés sont clairement des données dynamiques, l&rsquo;origine et la destination pourraient être externalisée dans le fichier de configuration XML.</p>
<p>De plus l&rsquo;utilisation de SimpleMailMessage ne permet pas l&rsquo;utilisation du format HTML ni même les fichiers attachés.<br />
Une version plus évoluée du service vous sera présenté dans un prochain billet.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
