Booster vos développements avec Spring Boot



Documents pareils
Création d une application JEE

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

1. Installation d'un serveur d'application JBoss:

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Corrigé des exercices sur les références

Alfstore workflow framework Spécification technique

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Serveur d'archivage 2007 Installation et utilisation de la BD exist

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

J2EE - Introduction. Développement web - Java. Plan du chapitre

La base de données XML exist. A. Belaïd

7 Développement d une application de MapReduce

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Expert technique J2EE

Rapport de projet de fin d études

Chapitre 10. Les interfaces Comparable et Comparator 1

Auto-évaluation Aperçu de l architecture Java EE

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Compte Rendu d intégration d application

BASE DE DONNÉES XML NATIVE

Remote Method Invocation (RMI)

Java et les annotations

RMI le langage Java XII-1 JMF

Tutoriel d installation de Hibernate avec Eclipse

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Composants Logiciels. Le modèle de composant de CORBA. Plan

Auto-évaluation Programmation en Java

Synchro et Threads Java TM

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Remote Method Invocation Les classes implémentant Serializable

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

JOnAS 5. Serveur d application d

Missions réalisées. Team Leader. Scrum Master (certifié)

Projet de programmation (IK3) : TP n 1 Correction

Web Tier : déploiement de servlets

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Formation Esup-Commons V2

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

De à 4 millions. Khanh Tuong

TD2 Programmation concurrentielle

Programmation par les Objets en Java

Installer GlassFish v3

Manuel d implémentation des Web Services Sous Axis1 et Axis2/Tomcat/linux. Par Pr Bouabid EL OUAHIDI

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Pentaho. présentation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

Projet Java EE Approfondi

Utiliser Java sans BlueJ

Celui qui vous parle. Yann Vigara

Architecture applicative et Cartographie

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

OpenPaaS Le réseau social d'entreprise

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Java Naming and Directory Interface

Logiciel de gestion d emploi du temps

Spring par la pratique

TP1. Outils Java Eléments de correction

Mise en œuvre des serveurs d application

Package Java.util Classe générique

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

Environnements de développement (intégrés)

SIMULATEUR DE MARCHE FINANCIER

Java Licence professionnelle CISII,

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Construction d'une application MVC distribuée avec Spring Remoting. Partie 1 : HttpInvoker, Hessian, Burlap, RMI

Cloud. Définition? 08/11/2012. James Urquhart The Wisdom of Clouds

Développement d un réseau social modulaire

Calcul Parallèle. Cours 5 - JAVA RMI

Remote Method Invocation en Java (RMI)

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Initiation à JAVA et à la programmation objet.

Dis papa, c est quoi un bus logiciel réparti?

Conception de serveurs d'applications ouverts

Création d un service web avec NetBeans 5.5 et SJAS 9

Cours en ligne Développement Java pour le web

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Android et le Cloud Computing

Premiers Pas en Programmation Objet : les Classes et les Objets

Programmation Par Objets

Design patterns. Design patterns - définition. Design patterns - avantages

Lancelot Bertrand Expert Java J2ee

Programmer en JAVA. par Tama

Classe Interne, Anonyme & Enumération

Jacques Lonchamp. Conception. d applications en Java/JEE. Principes, patterns et architectures

Une introduction à la technologie EJB (2/3)

Porte dérobée dans les serveurs d'applications JavaEE

Un ordonnanceur stupide

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Transcription:

Booster vos développements avec Spring Boot

Julien Sadaoui Développeur Java @juliensadaoui juliensadaoui

La plateforme spring

La plateforme spring public class BookService { @PersistenceContext private EntityManager em; @Transactional public Book save(book book) { return em.persist(book); @Override public List<Account> findbyisbn(string isbn) { TypedQuery query = em.createquery("select b from Book b where b.isbn =?1", Book.class); query.setparameter(1, isbn); return query.getresultlist();

Pourquoi Spring Boot? Point d entrée dans la plateforme (au lieu de spring-*) Dépendances prêtes à l emploi Auto-Configuration Standolone application Tomcat/Jetty en mode embarqué Fonctionnalités pour la production Pas de génération de code/de XML

«Hello world» avec Spring MVC Créer une simple classe qui affiche un service «Hello world» SpringApplication: charge un context spring à partir d une méthode main() @EnableAutoConfiguration: fixe une configuration par défaut en fonction du contenu du classpath, de nos beans, des properties, etc. @Controller @EnableAutoConfiguration public class Application { @RequestMapping ("/") @ResponseBody public String helloworld() { return "Hello, world."; public static void main(string[] args) { SpringApplication.run(Application.class, args); Lancer l application sur le port 8080 mvn spring-boot:run

Starter POMs Définir des collections de dépendances pour un usage donné Pattern commun : spring-boot-starter-* Support de Maven et Gradle spring-boot-starter spring-boot-starter-web spring-boot-starter-jetty spring-boot-starter-test spring-boot-starter-actuator spring-boot-starter-data-jpa spring-boot-starter-batch spring-boot-starter-security Core du composant, inclus auto-configuration, logging, etc. Support pour les applications web (spring-mvc et tomcat) Support pour le conteneur web jetty Support pour les dépendances de test Fonctionnalités pour la production (métrique, monitoring) Support pour JPA, Spring Data et Hibernate Support du module spring-batch en utilisant HSQLDB Support du module spring-security

Starter POMs Utilisation de Spring Boot avec l outil de gestion de dépendances Maven <parent> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-parent</artifactid> <version>1.2.1.release</version> </parent> <dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency> </dependencies>

Tests d intégration Ajouter la dépendance spring-boot-starter-test Développer les tests avec spring-test @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @SpringApplicationConfiguration(classes = Application.class) public class HomeControllerTest { @Autowired private WebApplicationContext wac; @Test public void testhome() throws Exception { MockMvc mvc = webappcontextsetup(this.wac).build(); mvc.perform(get("/").accept(mediatype.text_plain)).andexpect(status().isok()).andexpect(content().string("hello, world."));

Spring Data JPA Ajouter la dépendance spring-boot-starter-data-jpa Utiliser hsqldb comme base de données embarquée Définir les annotations sur l entité Book @Entity public class Book implements Serializable { @Id private String isbn; private String title; private String author; private BigDecimal price; Définir une interface Repository @Repository public interface BookRepository extends JpaRepository<Book, String> { public List<Book> findbyauthor(string author);

Spring Boot Actuator Fournit différentes fonctionnalités permettant de surveiller et gérer votre application en production. Endpoints HTTP /beans /env /health /info /metrics /trace JMX Support Shell distant

Spring Boot Demo

Liens utiles Site du projet http://projects.spring.io/spring-boot/ http://spring.io/blog Guide de références http://docs.spring.io/springboot/docs/current/reference/htmlsingle/ Exemples de projets https://github.com/spring-projects/springboot/tree/master/spring-boot-samples