1. Première connaissance du printemps

Vers le Haut 2022-01-15 02:43:02 阅读数:53

premi connaissance du printemps

Un..springConnaissances de base

1.SpringGénéralités

  • 2002Année,Rod JahnsonLancé pour la première foisSpringPrototype de cadreinterface21Cadre.

  • 2004Année3Mois24Jour,SpringCadreinterface21Le cadre est basé sur,Redessiné,Publié1.0Version officielle.C'est difficile à imaginer.Rod JohnsonÉtudes , Il est docteur à l'Université de Sydney,Mais sa spécialité n'est pas l'informatique,C'est la musicologie.

  • SpringC'est léger, Open SourceJavaEECadre

  • SpringPhilosophie : Rendre l'état de la technique plus pratique . C'est un ragoût en soi , Intégration des technologies - cadres existantes

    SpringIl y a deux parties principales:IOCEtAop
    (1)IOC:Contrôle de l'inversion,Laissez le processus de création d'objets àSpringGérer
    (2)Aop:Face tangente,Amélioration de la fonctionnalité sans modification du code source
    SpringCaractéristiques
    (1) Découplage pratique,Développement simplifié
    (2) AopSoutien à la programmation
    (3)Test de programme pratique
    (4) Faciliter l'intégration avec d'autres cadres
    (5)Pour faciliter les transactions
    (6)RéductionAPIDifficultés de développement
    Un mot pour résumer:

    SpringC'est une inversion de commande légère(IoC)Et face à la section(AOP)Conteneur pour(Cadre)

2.Composition

img

Spring Le cadre est une architecture à plusieurs niveaux,Par 7 Modules bien définis.Spring Le module est construit sur un conteneur central,Le conteneur central définit la création、Configuration et gestion bean De la façon dont

img

3.SpringSystème fonctionnel

3.1Conteneur Central(Core Container)

Conteneur Central(Core Container)InSpring Dans le système fonctionnel de , Est la pierre angulaire de la fonctionnalité d'autres modules . Le conteneur central contient Beans、Core、Context、SpELQuatre modules,Les détails sont les suivants

1.BeansEtCoreModule
BeansEtCore Le module prévoit la création de 、Configuration et gestionBeanDe la façon dont**,OffreIOCEtDIFonction,BeanFactoryLa classe estBeansEtCoreLa clé du module.**

2.ContextModule
ContextLe module estBeansEtCore La fonctionnalité est étendue sur la base du module ,AdoptionApplicationContext L'interface fournit des informations contextuelles .

3.SpELModule
SpEL Le module fournit un langage d'expression puissant , Cette langue est utilisée dans Spring Interrogation et manipulation des objets au moment de l'exécution .

3.2Accès aux données et intégration(Data Access/Integration)

Accès aux données et intégration(Data Access/Integration) Utilisé principalement pour accéder et manipuler les données dans les données ,Il comprend principalement:JDBC、ORM、OXM、JMS EtTransactionsModule.

JDBCModule
JDBCModule fourniJDBCCouche abstraite, Il élimine la verbosité JDBC Coder et analyser les codes d'erreur propres au fournisseur de la base de données .

ORMModule
ORMLe module est la principale cartographie des relations objetAPIFournit une couche d'intégration, Ces Mappings relationnels d'objets courants incluent MyBatis、HibernateEtJDOAttendez.,En plus de ça,, Ce module relie le cadre de cartographie des relations objet à Spring Utilisation combinée des propriétés fournies .

OXM Module
OXM Le module fournit une paireOXM Soutien à la mise en oeuvre ,Par exemple,JAXB、Castor、XML Beans、JiBX、XStreamAttendez..

MS Module
JMS Le module contient la production (produce)Et consommation(consume)Fonction du message.De4.1Début de la version,SpringIntégréspring-messagingModule .

TransactionsModule
Transactions La fonction principale du module est la gestion des transactions ,Spring Prise en charge de l'écriture beginTransaction()、commit()、rollback()Opérations programmées pour,En même temps, Il supporte également l'annotation ou la configuration par spring Transactions déclaratives traitées automatiquement .

4. Spring Mécanisme du conteneur pour

4.1 Introduction au mécanisme du conteneur

  • Le conteneur estSpring La base de la fonction de mise en œuvre du cadre ,Spring Le conteneur ressemble à une superusine ,QuandSpringAu démarrage, Toutes les classes configurées sont incluses dans Spring Gestion des conteneurs .
  • Spring Appelle la classe qu'il gère Bean,En général,AvecJava BeanComparé à,SpringPas de demandeBeanCertaines spécifications doivent être respectées,Même si c'est normalJavaCatégorie, Tant qu'il est configuré dans le conteneur ,Spring Pour le gérer et l'utiliser comme BeanTraitement .
  • SpringPeut passerXML Fichier ou annotation pour obtenir des informations de configuration , Qui est ensuite géré par des objets conteneur Bean.SpringC'est exact.Bean La gestion de BeanEt la gestionBeanLe cycle de vie de.BeanEn coursSpringDans le récipient, Il n'a qu'à jouer son rôle. ,Sans trop d'attentionSpring L'état du conteneur .
  • Pour faciliter le développement ,Spring Un ensemble de conteneurs est fourni aux développeurs API,Et ainsi de suite., Disponible pour les développeurs SpringContenants fournisAPITerminé.BeanFonctionnement.InSpringConteneur pourAPIMoyenne, Ce que les développeurs touchent le plus BeanFactoryEtApplicaitonContextInterface,Parmi eux,ApplicaitonContext- Oui.BeanFactorySous - interface pour.

4.2 BeanFactoryInterface

BeanFactory- Oui.IOC Interface conteneur de base , Il définit la création et la gestion BeanMéthode, Les spécifications les plus élémentaires sont fournies pour les autres conteneurs .
BeanFactory L'interface fournit une série d'opérations BeanMéthode,Voir le tableau pour plus de détails.

img

  • Le tableau énumère BeanFactoryMéthode d'interface, Les développeurs appellent ces APIC'est fait.BeanFonctionnement,Aucune attention requiseBeanProcessus d'Instanciation pour.
  • Spring Plusieurs BeanFactoryClasse d'implémentation pour,Le plus souvent,XmlBeanFactory,Il peut lireXML Document et basé sur XML Informations de configuration dans le fichier à gérer Bean.

4.3ApplicationContextInterface

  • ApplicaitonContext La fonction de l'interface est basée sur BeanFactorySur la base de l'interface,C'est amélioréBeanFactoryCaractéristiques de, Plus de fonctionnalités de classe entreprise ajoutées .

  • ApplicaitonContext L'interface fournit un accès international à l'application ,Fourniture de ressources(Y compris:URLEt système de fichiers)Soutien à l'accès pour, Plusieurs profils peuvent être chargés simultanément , Introduire un mécanisme d'événement , Permettre au conteneur de fournir un support pour les événements d'application dans le contexte , Démarrer et créer de façon explicite SpringConteneur.En plus de ça,,ApplicaitonContext L'interface peut être unique Bean Effectuer une pré - initialisation , Et selon les éléments setterMéthodes, C'est ce qui détermine l'exemple unique Bean Peut être utilisé directement , Amélioration de l'accès au programme Bean Performance au moment de l'Instance ,Donc,,Utilisé dans le développement réelApplicaitonContext Plus d'interfaces .

  • Dans le développement réel,Si vous voulez obtenirApplicaitonContextExemples, Vous pouvez personnaliser une implémentation ApplicationContextAware Classe d'outils pour l'interface , Et cette classe d'outils doit également être configurée pour SpringDans le récipient.ApplicationContextAwareL'interface a unsetApplicationContext(ApplicationContext context)Méthodes,La méthode est définie parSpring Appelé et passé dans ApplicationContextExemple, La classe d'outils obtient une instance à partir de ce paramètre .

  • Pour faciliter le développement ,Spring Fournit plusieurs ApplicaitonContextClasse d'implémentation d'interface,Voir le tableau pour plus de détails.

img

  • Le tableau énumère plusieurs ApplicaitonContextClasse d'implémentation d'interface, Les développeurs peuvent faire appel à .

4.4 Processus de démarrage du conteneur

  • Spring Le principe de base du conteneur est relativement complexe ,Donc,, Les débutants n'ont pas besoin de trop d'efforts pour explorer les détails de la mise en oeuvre .En serviceSpring Avant de commencer , D'abord, en gros Spring Le processus de démarrage du conteneur est suffisant .

  • Spring Le processus de démarrage du conteneur comprend trois étapes de base :BeanDifinitionDeResourcePositionnement、BeanDifinition Chargement et résolution de 、BeanDifinitionInSpring Enregistrement dans le conteneur .

    1.BeanDifinitionDeResourcePositionnement
    Lors de l'obtention des informations de configuration ,Spring Le conteneur doit d'abord trouver des détails Resource.Dans le développement réel,ResourceC'est possible.XMLDocumentation, Ou annotation ,Resource Positionnement par ResourceLoaderPar l'unitéResourceInterface à compléter.

    2.BeanDifinitionChargement de
    Lire les informations de configuration,Convertir les informations de configuration enSpringStructure des données à l'intérieur du conteneur,Cette structure de données estBeanDifinition.AdoptionBeanDifinition,Spring Peut être pratique pour BeanGérer.

    3.BeanDifinitionInscription
    À compléterBeanDifinitionAprès le chargement,Il fautBeanDifinitionInscrivez - vous àSpringDans un conteneur.Spring Le conteneur passe par un HashMapObjet détenuBeanDifinitionDonnées.InscriptionBeanDifinitionOui.BeanDifinition Données insérées dans HashMapDans l'objet, Cette procédure est appelée BeanDifinitionRegistryMise en œuvre de l'interface.

  • AvecSpringDémarrage du conteneur,BeanTerminé àSpring Définition dans le conteneur .SelonSpringPrincipe du conteneur,Par défaut,Bean L'Instanciation de Spring Terminé pendant le démarrage du conteneur . Si l'utilisateur veut aller à SpringDemande de conteneurBean Instanciation terminée à , Vous pouvez utiliser les informations de configuration BeanDelazy-initPropriétés à mettre en œuvre.BeanDelazy-initLa propriété a trois valeurs optionnelles:default、false、true,Parmi eux,defaultEtfalseMême fonction, Par défaut à Spring L'Instanciation est terminée pendant le démarrage du conteneur ,Seulement silazy-initLa valeur de l'attribut pour esttrueHeure,Bean L'Instanciation de n'est effectuée qu'à la première demande de l'utilisateur .

版权声明:本文为[Vers le Haut]所创,转载请带上原文链接,感谢。 https://javamana.com/2022/01/202201080601056065.html