Spring est un framework open source créé par Rod Johnson et créé pour résoudre la complexité du développement d'applications d'entreprise. Spring peut utiliser des JavaBeans de base pour réaliser des tâches qui n'étaient auparavant possibles que par les EJB.
Cet article présentera brièvement les fonctions et les modules du framework Spring Pour une utilisation spécifique, veuillez consulter le cours recommandé : Tutoriel Java. .
Spring est un framework open source créé par Rod Johnson. Il a été créé pour résoudre les complexités du développement d’applications d’entreprise. Spring utilise des JavaBeans de base pour accomplir des choses qui n'étaient auparavant possibles qu'avec les EJB. Cependant, les utilisations de Spring ne se limitent pas au développement côté serveur. Du point de vue de la simplicité, de la testabilité et du couplage lâche, toute application Java Peut bénéficier du printemps.
Spring est un framework de conteneurs léger d'inversion de contrôle (IoC) et orienté aspect (AOP).
Léger – Le ressort est léger en termes de taille et de frais généraux. Le framework Spring complet peut être distribué dans un fichier JAR d'une taille d'un peu plus de 1 Mo. Et le printemps Les frais généraux de traitement requis sont également négligeables. De plus, Spring est non intrusif : généralement, les objets d'une application Spring ne dépendent pas de classes Spring spécifiques.
Inversion de contrôle - Spring favorise un couplage lâche grâce à une technique appelée Inversion de contrôle (IoC). Lorsque l’IoC est appliqué, les autres objets dont dépend un objet sont transmis passivement. Transmettez-le au lieu de créer l'objet lui-même ou de rechercher des objets dépendants. Vous pouvez considérer IoC comme l'opposé de JNDI : au lieu que l'objet recherche les dépendances du conteneur, le conteneur transmet activement les dépendances à l'objet lorsqu'il est initialisé sans attendre que l'objet le demande.
Orienté aspect : Spring fournit un support riche pour la programmation orientée aspect, permettant un développement cohérent en séparant la logique métier de l'application des services au niveau du système (tels que l'audit et la gestion des transactions). Les objets d'application implémentent uniquement ce qu'ils sont censés faire - une logique métier complète - rien de plus. Ils ne sont pas responsables (ni même conscients) d'autres problèmes au niveau du système, tels que la journalisation ou la prise en charge des transactions.
Conteneur - Spring contient et gère la configuration et le cycle de vie des objets d'application, c'est un conteneur dans le sens où vous pouvez configurer la façon dont chacun de vos beans est créé - basé sur un prototype configurable ( prototype), votre bean peut créer une seule instance ou en générer une nouvelle à chaque fois que cela est nécessaire - et comment elles sont liées les unes aux autres. Cependant, Spring ne doit pas être confondu avec les conteneurs EJB lourds traditionnels, qui sont souvent grands, encombrants et difficiles à utiliser.
Framework - Spring peut configurer et combiner des composants simples dans des applications complexes. Dans Spring, les objets d'application sont composés de manière déclarative, généralement dans un fichier XML.
Spring fournit également de nombreuses fonctions de base (gestion des transactions, intégration de framework de persistance, etc.), vous laissant le développement de la logique applicative.
Toutes ces fonctionnalités Spring vous permettent d'écrire du code plus propre, plus gérable et plus facile à tester. Ils fournissent également un support de base pour divers modules de Spring.
Le framework Spring se compose de sept modules bien définis
Pris dans leur ensemble, ces modules vous fournissent tout ce dont vous avez besoin pour développer des applications d'entreprise. Mais vous n’êtes pas obligé de baser entièrement votre application sur le framework Spring. Vous êtes libre de choisir l'application qui vous convient modules et ignorez le reste.
Comme vous pouvez le voir, tous les modules Spring sont construits au-dessus du conteneur principal. Le conteneur définit la manière dont les beans sont créés, configurés et gérés – plus de détails au Spring.
Vous utiliserez potentiellement ces classes lorsque vous configurerez votre application. Mais en tant que développeur, vous serez probablement intéressé par d'autres modules qui affectent les services fournis par le conteneur. Ces modules seront Vous fournira un cadre pour créer des services d’application, tels que l’AOP et la persistance.
Conteneur principal
Il s'agit de la partie la plus basique du framework Spring. Il fournit des fonctionnalités d'injection de dépendances (DependencyInjection) pour implémenter la gestion des conteneurs de beans. Le concept le plus basique ici est BeanFactory, qui est le cœur de toute application Spring. BeanFactory est une implémentation du modèle d'usine qui utilise IoC pour séparer la configuration de l'application et les spécifications de dépendance du code d'application réel.
Module de contexte d'application (Context)
Le BeanFactory du module principal fait de Spring un conteneur, et le module de contexte en fait un framework. Ce module étend le concept de BeanFactory et ajoute la prise en charge des (I18N) prise en charge de la messagerie, de la propagation des événements et de la vérification.
De plus, ce module fournit de nombreux services d'entreprise, tels que la messagerie électronique, l'accès JNDI, l'intégration EJB, les services à distance et de planification. Comprend également des boîtes de modèles Des cadres tels que Velocity et FreeMarker sont intégrés au support.
Module AOP de Spring
Spring fournit un support riche pour la programmation orientée aspect dans son module AOP. Ce module constitue la base de l'implémentation de la programmation des aspects dans les applications Spring. Afin de garantir que Spring et autres Interopérabilité du framework AOP, le support AOP de Spring est basé sur l'API définie par l'AOP Alliance. L'AOP Alliance est un projet open source dont l'objectif est de promouvoir l'utilisation de l'AOP et l'interopérabilité entre les différentes implémentations d'AOP en définissant un ensemble commun d'interfaces et de composants. Vous pouvez en savoir plus sur l'AOP Alliance en visitant leur site.
Le module AOP de Spring introduit également la programmation de métadonnées dans Spring. Grâce à la prise en charge des métadonnées de Spring, vous pouvez ajouter des annotations à votre code source pour indiquer à Spring où et comment Comment appliquer la fonction d'aspect.
Module d'abstraction JDBC et DAO
L'utilisation de JDBC entraîne souvent de nombreuses duplications de code, l'obtention de la connexion, la création d'instructions, le traitement de l'ensemble de résultats, puis la fermeture la connexion. Les modules JDBC et DAO de Spring extraient ces codes en double code, afin que vous puissiez garder votre code d'accès à la base de données propre et concis, et que vous puissiez éviter les problèmes causés par les échecs de fermeture des ressources de la base de données.
Ce module crée également une couche d'exception significative au-dessus des messages d'erreur donnés par plusieurs serveurs de base de données. Plus besoin d'essayer de déchiffrer les messages d'erreur SQL privés énigmatiques !
De plus, ce module utilise également le module AOP de Spring pour fournir des services de gestion de transactions pour les objets dans les applications Spring.
Module intégré de mappage objet/relationnel
Pour ceux qui préfèrent utiliser des outils de mappage objet/relationnel au lieu d'utiliser directement JDBC, Spring fournit un module ORM. Spring ne tente pas d'implémenter sa propre solution ORM Au lieu de cela, il fournit des solutions d'intégration pour plusieurs frameworks ORM populaires, notamment Hibernate, JDO et le mappage SQL iBATIS. La gestion des transactions de Spring prend en charge chacun de ces frameworks ORM, y compris JDBC.
Module Web de Spring
Le module de contexte Web est construit sur le module de contexte d'application et fournit un contexte adapté aux applications Web. De plus, ce module fournit également un support orienté services. Par exemple
Par exemple : implémentez une requête multipart pour le téléchargement de fichiers. Il fournit également l'intégration de Spring et d'autres frameworks Web, tels que Struts et WebWork.
Le framework MVC de Spring
Spring fournit un framework MVC complet pour créer des applications Web. Bien que Spring puisse être facilement intégré à d'autres frameworks MVC, tels que Struts, le framework MVC de Spring utilise IoC pour assurer une séparation complète de la logique de contrôle et des objets métier.
Il vous permet également de lier de manière déclarative les paramètres de requête à vos objets métier. De plus, le framework MVC de Spring peut également exploiter n'importe lequel des autres services de Spring, tels que les informations d'internationalisation et la validation.
Problème de code tronqué de la page Web du framework Spring
Lors de la réalisation de projets Web Java, des problèmes de code tronqué se produisent souvent et les solutions sont également différentes, certaines sont simples et d'autres complexe ; Ce sera différent après l’ajout du framework Spring, mais Nous pouvons utiliser le CharacterEncodingFilter fourni avec le framework Spring, qui peut réduire considérablement notre charge de travail et est simple, pratique et facile à comprendre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!