En savoir plus sur Spring Framework et l'histoire de Spring Boot

Learn More About Spring Framework



Le framework Spring est sans doute l'un des frameworks de développement d'applications les plus populaires utilisés par les développeurs Java. Il est actuellement composé d'un grand nombre de modules qui offrent une gamme de services. Comprend des conteneurs de modules, une programmation orientée aspect (AOP), des cadres de sécurité, des cadres d'accès aux données, des cadres d'applications Web et des classes pour la prise en charge de modules de construction pour prendre en charge les problèmes transversaux.



Tous les composants du framework Spring sont collés ensemble par injection de dépendances. L'injection de dépendances (également appelée inversion de contrôle) facilite la conception et le test de modules logiciels faiblement couplés.



Le Spring Framework a mûri au fil des ans. Les composants de base nécessaires à presque toutes les applications d'entreprise Java se trouvent dans le framework Spring. Mais il n'est pas facile d'intégrer et de configurer tous les composants Spring requis dans une nouvelle application. Cela inclut la configuration de bibliothèques de dépendances dans gradle / maven et la configuration des Spring Beans requis à l'aide de xml, d'annotations ou de code java. Les développeurs de Spring se rendent compte que la plupart des travaux ici peuvent être automatisés, et Spring Boot est apparu!



L'histoire du framework Spring

point de départ

En octobre 2002, Rod Johnson a écrit un livre intitulé Expert One-on-One J2EE Design and Development. Ce livre, publié par Wrox, présente le développement d'applications d'entreprise Java à l'époque et souligne certaines des principales failles du cadre des composants Java EE et EJB. Dans ce livre, il présente une solution plus simple basée sur les classes Java courantes et l'injection de dépendances.



Dans le livre, il montre comment créer un système de réservation de siège en ligne évolutif et de haute qualité sans utiliser d'EJB. Pour construire l'application, il a écrit plus de 30 000 lignes de code d'infrastructure. Contient de nombreuses interfaces et classes Java réutilisables, telles que ApplicationContext et BeanFactory. Étant donné que l'interface java est le bloc de construction de base de l'injection de dépendances, il a nommé le package racine de ces classes com.interface21.

La conception et le développement J2EE individuels sont un succès. La plupart des codes d'infrastructure fournis gratuitement dans ce livre sont hautement réutilisables. Même après 15 ans, ce livre et ses principes sont toujours pertinents pour la création d'applications Web Java de haute qualité.

Le printemps est né

Peu de temps après la publication du livre, les développeurs Juergen Hoeller et Yann Caroff ont persuadé Rod Johnson de créer un projet open source basé sur le code d'infrastructure. Rod, Juergen et Yann ont commencé à co-développer le projet vers février 2003. Yann a créé le nom «Spring» pour le nouveau cadre. Selon Rod, Spring est le nouveau départ du J2EE traditionnel.

En juin 2000, Spring 2.0 est sorti sous la licence Apache 2.0. En mars 2004, la version 1.0 est sortie. Fait intéressant, avant la version 1.0, le printemps était largement adopté par les développeurs. En août 2004, Rod Johnson, Juergen Hoeller, Keith Donald et Colin Sampaleanu ont cofondé une interface d'entreprise21 axée sur le conseil, la formation et le support Spring.

Yann Caroff a quitté l'équipe tôt, Rod Johnson l'a quitté en 2012 et Juergen Hoeller est toujours un membre actif de l'équipe de développement de Spring.

La croissance rapide du framework Spring

Depuis la sortie de la version 1.0 en 2004, le framework Spring s'est développé rapidement. Spring 2.0 est sorti en octobre 2006, et à ce moment-là, Spring en avait téléchargé plus d'un million. Spring 2.0 possède des capacités de configuration XML extensibles pour simplifier la configuration XML, la prise en charge de Java 5, des points d'extension de conteneur IoC supplémentaires et la prise en charge des langages dynamiques.

Le projet Interface21 sous la direction de Rod a été renommé SpringSource en novembre 2007. Spring 2.5 est également disponible. Les nouvelles fonctionnalités clés de Spring 2.5 incluent la prise en charge de Java 6 / Java EE 5, la prise en charge de la configuration des annotations, la détection automatique des composants dans le chemin de classe et les bundles compatibles OSGi.

En 2007, SpringSource a reçu une ronde de financement (10 millions de dollars) du capital de référence.

SpringSource a acquis un certain nombre d'entreprises au cours de cette période, telles que Hyperic, G2One et d'autres. En août 2009, SpringSource a été acquise par VMWare pour 420 millions de dollars. SpringSource a acquis en quelques semaines Cloud Foundry, un fournisseur de Cloud PaaS. En 2015, l'usine cloud a été transformée en une usine cloud à but non lucratif.

En décembre 2009, Spring 3.0 est sorti. Spring 3.0 possède de nombreuses fonctionnalités importantes, telles que la réorganisation des systèmes de modules, la prise en charge du langage d'expression Spring, la configuration de bean basée sur Java (JavaConfig), la prise en charge des bases de données intégrées (telles que HSQL, H2 et Derby), la validation de modèle / prise en charge REST et Java EE. Etre prêt.

De nombreuses versions plus petites de la série 3.x ont été publiées en 2011 et 2012. En juillet 2012, Rod Johnson a quitté l'équipe. En avril 2013, VMware et EMC ont créé une joint-venture appelée Pivotal via GE Capital. Toutes les applications Spring ont été déplacées vers Pivotal.

En décembre 2013, Pivotal a annoncé la sortie de Spring Framework 4.0. Spring 4.0 est une avancée majeure du framework Spring, il inclut une prise en charge complète de Java 8, des dépendances de bibliothèques tierces supérieures (groovy 1.8+, ehcache 2.1+, hibernate 3.6+, etc.), la prise en charge de Java EE 7, groovy DSL For définitions de bean, prise en charge des websockets et prise en charge des types génériques comme qualificatifs pour les beans injectés.

De nombreuses versions de la série Spring Framework 4.xx ont été publiées entre 2014 et 2017. Spring 4.3.7 est sorti en mars 2017. Spring 4.3.8 est sorti en avril 2017 et est devenu le dernier de la série 4.x. La version principale de la prochaine continuation du framework Spring est en version 5.0.

Histoire de Spring Boot

En octobre 2012, Mike Youngstrom a créé une demande de fonctionnalité dans Spring jira qui nécessitait une architecture d'application Web sans conteneur dans le framework Spring. Il a parlé de la configuration du service de conteneur Web à l'intérieur du conteneur de ressort de démarrage du conteneur principal. Ceci est un extrait de la requête jira:

Je pense que l'architecture d'application Web de Spring peut être grandement simplifiée si elle fournit des outils et des architectures de référence qui exploitent les composants et les modèles de configuration Spring de haut en bas. Incorporez et unifiez la configuration de ces services de conteneur Web courants dans un conteneur Spring guidé par une méthode main () simple.

Cette exigence a incité le développement du projet Spring Boot qui a commencé au début de 2013. En avril 2014, Spring Boot 1.0.0 a été publié. Depuis, certaines versions de Spring Boot sont sorties:

Spring boot 1.1 (juin 2014) - Prise en charge améliorée des modèles, prise en charge de gemfire, configuration automatique d'elasticsearch et d'apache solr.

Spring Boot 1.2 (mars 2015) - Mise à niveau vers servlet 3.1 / tomcat 8 / jetty 9, mise à niveau printemps 4.1, support des annotations banner / jms / SpringBootApplication.

Spring Boot 1.3 (décembre 2016) - Mise à jour Spring 4.2, nouveaux spring-boot-devtools pour la configuration automatique des technologies de mise en cache (ehcache, hazelcast, redis et infinispan) et support de jar entièrement exécutable.

Spring boot 1.4 (janvier 2017) - Mise à niveau Spring 4.3, prise en charge de couchbase / neo4j, analyse des échecs de démarrage et RestTemplateBuilder.

Spring boot 1.5 (février 2017) - Prise en charge de kafka / ldap, des mises à niveau de bibliothèques tierces, de la dépréciation de la prise en charge de CRaSH et des points de terminaison du journal d'actionneur pour modifier dynamiquement le niveau de journalisation de l'application.

Spring boot 2.0 (mars 2018) - Basé sur Java 8, prend en charge Java 9, prend en charge Quartz, le planificateur simplifie considérablement la configuration automatique de la sécurité, prend en charge Netty intégré

La simplicité de Spring Boot permet aux développeurs Java d'adopter le projet rapidement et à grande échelle. Spring Boot est sans doute l'un des moyens les plus rapides de développer des applications Web de microservice basées sur REST en Java.

Spring IO et Spring Boot

En juin 2014, Spring io 1.0.0 est sorti. Spring io représente un ensemble de dépendances prédéfinies entre les bibliothèques d'applications. Cela signifie que si vous créez un projet avec une version Spring IO spécifique, vous n'avez plus besoin de définir la version de la bibliothèque.

Même le projet de démarrage Spring Boot fait partie de ce Spring IO. Par exemple, si vous utilisez spring io 1.0.0, vous n'avez pas besoin de spécifier la version de démarrage de printemps lors de l'ajout de dépendances pour le projet de lancement. Il suppose automatiquement qu'il s'agit de spring boot 1.1.1.RELEASE.

Conceptuellement, spring io se compose de la couche de base du module et du runtime spécifique au domaine (DSR) de la couche d'exécution. La couche de base représente une liste de planification des modules Spring de base et des dépendances tierces. Spring Boot est l'un des DSR de couche d'exécution fournis par Spring IO. Il existe donc maintenant deux façons principales de créer une application:

Utilisez Spring Boot directement avec ou sans spring io.

Utilisez Spring IO pour le module Spring requis.

Notez que la nouvelle version de démarrage de Spring est généralement déclenchée chaque fois qu'une nouvelle version de Spring Framework est publiée. Cela déclenchera à son tour une nouvelle version de Spring Boot.

En novembre 2015, Spring io 2.0.0 est sorti. Cela fournit un ensemble de dépendances mises à jour, y compris Spring Boot 1.3. En juillet 2016, l'équipe de Spring io a décidé d'utiliser une mise en page alphabétique. Spring IO utilise le nom de la ville à cet effet. Dans le schéma de version lettre, le nouveau nom représente une mise à niveau secondaire et majeure de la bibliothèque dépendante.

En septembre 2016, Athènes a publié la première version de la plate-forme Spring io de la ville nommée d'après l'alphabet. Il comprend Spring Boot 1.4 et d'autres mises à niveau de bibliothèques tierces. Depuis lors, Athènes a publié plusieurs versions de service (SR1, SR2, SR3 et SR4).

En mars 2017, la dernière plateforme Spring io (Brussels-SR1) est sortie. Il utilise la dernière version 1.5.2 de Spring Boot. La prochaine plate-forme Spring io est le Spring Boot 2.0 et Spring Framework 5.0 que Cairo prévoit d'introduire.

Tableau chronologique du printemps

Grèves du bien-être:

Enfin, je voudrais vous recommander un cours Spring Boot que j'ai écrit pour vous aider à apprendre rapidement Spring Boot et à appliquer rapidement la technologie Spirng Boot à votre travail. Ce tutoriel extrait principalement les scénarios d'utilisation dans le travail réel et les présente sous forme de cours et d'exemples de projets. Convient aux ingénieurs moyens et seniors de s'inscrire pour étudier. Les amis intéressés peuvent ajouter un groupe: 614478470