Vers le Haut 2022-01-15 02:43:02 阅读数:53
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)
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
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 .
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 .
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.
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.
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