6. Les bases de Spring
Un Bean Spring = Un
objet Java «simple»
Généralement un
singleton, mais pas
forcément
Configuré et instancié au
démarrage de
l’application
10. Exemple: transaction
& sécurité avec l’aop
public class MonServiceImpl
implements MonService {
@Transactional
@Secured("ROLE_USER")
public long methodeMetier(String value) {
// ...
}
}
13. Fichiers XML
Divisez pour mieux
régner
Utilisez les namespaces
Stockez les fichiers
dans
META-INF/spring
La configuration
d’infrastructure varie
suivant les
environnements
14. Gestion des
propriétés
Gagnez en souplesse:
externalisez vos propriétés
Proposez des valeurs par
défaut, faciles à surcharger
<context:property-placeholder
location="classpath*:META-INF/spring/*.properties,
classpath*:*.properties"/>
15. Utilisez votre
serveur d’applications
Un serveur
d’applications fournit de
nombreux services
(DataSources, JMS...)
Plus performant, plus
simple à exploiter que
l’équivalent Spring
<jee:jndi-lookup id="dataSource"
jndi-name="java:comp/env/jdbc/myDS"/>
16. Les application
contexts hiérarchiques
On peut avoir une
hiérarchie de contexts
Spring
Souvent utilisé sans le
savoir (Spring MVC)
Permet une séparation
logique de l’architecture
Contexte parent
(métier)
Contexte enfant
(présentation)
22. Après le démarrage
Les beans Spring sont
disponibles
Et vont être attaqués
par de nombreuses
threads en parallèle
Attention à être thread
safe!
Bean Spring
30. Hibernate Search
La méthode intelligente pour
embarquer un moteur de
recherche
Peut grandement alléger la
charge de votre base de
données
Parfaitement intégré à
Hibernate, transparent pour
Spring
32. Plusieurs types de
cloud
IaaS (Infrastructure As A
Service): Amazon
Simple location de
matériel à la demande
PaaS (Platform As A
Service): Google
Cache distribué, base
de données spécialisée
33. Spring dans le
nuage: la théorie
Configuration identique: IoC et AOP doivent fonctionner
de la même manière
Permet une plus grande portabilité, en particulier pour le
PaaS
Historiquement,
une force de
Spring: portabilité
entre les serveurs
d’applications
34. Spring dans le
nuage: la pratique
Lancer des Singletons dans une JVM
pose rarement un problème
Spring ne gère pas les vrais problèmes:
Cache distribué
Base de données
Sessions utilisateurs
38. Interro surprise
Cette configuration peut également être réalisée par
annotation, pourquoi privilégier le XML?
C’est une configuration d'infrastructure
Elle varie en fonction de l’environnement
Il suffit de copier/coller le fichier pour avoir du
monitoring
40. Monitoring de la
JVM
Pur monitoring, pas
de management
Niveau de détail très
fin
Monte en gamme et
attaque le
monitoring «métier»
Une offre commerciale intéressante: New Relic
42. Des questions?
Vous pouvez les poser sur http://responcia.net
Par e-mail: julien@responcia.fr
Ou tout de suite, s’il reste du temps :-)
Un feedback?
Envoyez-le sur Twitter: @juliendubois
43. Crédits photos
La plupart des photos utilisées pour cette
présentation sont sous licence Creative
Commons
‣http://www.flickr.com/photos/sebpaquet/5221678/
‣http://www.flickr.com/photos/kooks2006/30477042/
‣http://www.flickr.com/photos/pedrosimoes7/118946291/
‣http://www.flickr.com/photos/liberato/149365463/
‣http://www.flickr.com/photos/livenature/177452444/
‣http://www.flickr.com/photos/liberato/185711145/
‣http://www.flickr.com/photos/gadl/312754502/
‣http://www.flickr.com/photos/mikebaird/343297515/
‣http://www.flickr.com/photos/mikebaird/343298668/
‣http://www.flickr.com/photos/mikebaird/343306006/
‣http://www.flickr.com/photos/mikebaird/393734903/
‣http://www.flickr.com/photos/revdancatt/449142212/
‣http://www.flickr.com/photos/noelzialee/481283924/
‣http://www.flickr.com/photos/mikebaird/1659436047/
‣http://www.flickr.com/photos/cipherswarm/2369136756/
‣http://www.flickr.com/photos/soldiersmediacenter/850896205/
‣
‣http://www.flickr.com/photos/yakobusan/2436481628/
‣http://www.flickr.com/photos/leomei/2651904068/
‣http://www.flickr.com/photos/henryleong/2684287324/
‣http://www.flickr.com/photos/srgblog/2831815666/
‣http://www.flickr.com/photos/bramus/2998573943/
‣http://www.flickr.com/photos/mogwai_83/3022261893/
‣http://www.flickr.com/photos/nnova/3060019732/
‣http://www.flickr.com/photos/mikebaird/3072645479/
‣http://www.flickr.com/photos/lrargerich/3366007510/
‣http://www.flickr.com/photos/nostri-imago/3413984703/
‣http://www.flickr.com/photos/kaibara/4068996309/
‣http://www.flickr.com/photos/8085704@N05/4343639127/
‣http://www.flickr.com/photos/jurvetson/4685661036/
‣http://www.flickr.com/photos/iancarroll/4743903048/