Spring est un cadre open source créé pour aborder la complexité du développement d'applications d'entreprise. L'un des principaux avantages d'un cadre est son architecture hiérarchique, qui vous permet de choisir le composant à utiliser tout en fournissant un cadre intégré pour le développement d'applications J2EE.
7 modules du cadre de ressort
Chaque module (ou composant) qui constitue le cadre de ressort peut exister seul ou être implémenté en conjonction avec un ou plusieurs autres modules. Les fonctions de chaque module sont les suivantes:
1 module de base
Le module Springcore est le conteneur central du printemps. Il implémente le mode IOC et fournit les fonctions de base du framework Spring. La classe Beanfactory contenue dans ce module est la classe centrale du ressort, responsable de la configuration et de la gestion des javabeans. Il utilise le mode d'usine pour implémenter le CIO, c'est-à-dire l'injection de dépendance. En parlant de Javabean, c'est une classe Java qui suit certains modèles de conception pour les rendre faciles à utiliser avec d'autres outils et composants de développement. Définition JavaBean est un composant réutilisable écrit dans la langue Java. Pour écrire un Javabean, la classe doit être une classe concrète et une classe publique, et a un constructeur sans paramètres.
Module 2Contex
Le module SpringContext hérite de la classe Beanfactory (ou Spring Core) et ajoute des fonctions telles que le traitement d'événements, l'internationalisation, le chargement des ressources, le chargement transparent et la vérification des données. Il fournit également des méthodes d'accès pour les haricots basés sur le framework et de nombreuses fonctions de niveau d'entreprise, telles que l'accès JNDI, la prise en charge de l'EJB, les appels distants, le cadre de modèle intégré, l'e-mail et la planification des tâches chronométrés, etc.
Module 3aop
Spring intègre toutes les fonctionnalités AOP. La gestion des transactions peut faire de tous les objets gérés à ressort AOP. Spring fournit un cadre AOP écrit en langue Java standard, et la majeure partie de son contenu est développée sur la base de l'API de l'alliance AOP. Il fait que les applications laissent de côté la complexité de l'EJB, mais possède les principales caractéristiques de l'EJB traditionnel.
Module 4DAO
DAO est l'abréviation de DataAccessObject. L'idée du modèle DAO est de séparer le code logique métier du code d'interaction de la base de données pour réduire le couplage entre les deux. Le mode DAO peut rendre la structure plus claire et le code plus simple. Le module DAO fournit la couche d'abstraction de JDBC, simplifie les erreurs d'exception pour les fournisseurs de base de données (n'héritant plus de grands lots de code de SQLEXception), réduit considérablement l'écriture du code et prend en charge les transactions déclaratives et programmatiques.
Module de cartographie 5orm
Les modules Springorm fournissent une prise en charge des cadres ORM existants. Divers cadres ORM populaires sont déjà très matures et ont un marché à grande échelle. Le printemps n'a pas besoin de développer de nouveaux outils ORM. Il offre des capacités d'intégration parfaites pour Hibernate et prend également en charge d'autres outils ORM. Notez que Spring fournit diverses interfaces (supports) et actuellement des cadres de cartographie fermés actuellement populaires pour les bases de données de niveau inférieur, telles que Ibatis, Hibernate, etc.
Modules 6web
Ce module est construit sur le SpringContext, qui fournit le contexte du contexte de l'auditeur de servlet et de l'application Web. L'intégration est fournie pour les cadres Web existants tels que JSF, Tapestry, Struct, etc. Structs est basé sur un bon modèle reconnu de MVC. Struts est impliqué dans M, V et C, mais il fournit principalement un bon contrôleur et une bibliothèque d'étiquettes personnalisées, ce qui signifie que son objectif est sur C et V. journalisation, etc.
Module 7MVC
Le module PringWebmvc est construit sur les fonctions principales du printemps, qui lui permet d'avoir toutes les fonctionnalités du framework Spring, de s'adapter à une variété de technologies de modèle multi-visualités, d'internationalisation et de services de vérification et d'obtenir une séparation claire de la logique de contrôle et de la logique métier. Parlons du rôle de MVC dans JSP. Le concept de «contrôleur» est introduit ici. Le contrôleur est généralement servi par des servlets. La demande du client n'est plus directement envoyée à une page JSP qui traite la logique métier, mais à ce contrôleur. Le contrôleur appelle ensuite la logique de transaction différente en fonction de la demande spécifique et renvoie le résultat de traitement à la page appropriée. Par conséquent, ce contrôleur de servlet fournit une application avec un concentrateur pour le traitement de la fin du dos. D'une part, il fournit un point d'entrée approprié pour la vérification, l'authentification de l'identité, l'exploitation forestière et la réalisation de la programmation internationale des données d'entrée; D'un autre côté, il offre également la possibilité de supprimer la logique métier à partir des fichiers JSP. Une fois que la logique métier est séparée de la page JSP, le fichier JSP devient quelque chose qui termine simplement la tâche d'affichage, qui est souvent appelée vue. La logique de transaction indépendante devient ce que les gens appellent souvent le modèle, et le contrôle du contrôleur lui-même constitue le modèle MVC. La pratique a prouvé que le modèle MVC offre une grande commodité pour le développement et la maintenance des programmes à grande échelle.
Résumer
Ce qui précède est toute la brève introduction des sept modules majeurs de Spring Framework dans cet article, j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Exploration simple du principe de travail du printemps
Spring Framework Web Project Pratique Partage de code
Comprendre l'injection de dépendance et l'inversion de contrôle au printemps
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!