1. Principe de printemps
Le plus au cœur est IOC. L'injection dynamique ne permet pas de créer un objet, et il peut être produit automatiquement. Cela utilise en fait une réflexion dans Java. La réflexion est en fait de créer et d'appeler des objets dynamiquement au moment de l'exécution. Spring consiste à créer dynamiquement des objets et des méthodes d'appel dans l'objet à l'exécution, avec le fichier de configuration XMLSPring.
Spring a un autre noyau, AOP, qui est une programmation orientée vers l'aspect, peut superviser et contrôler un certain type d'objet (c'est-à-dire appeler le module que vous avez spécifié avant et après avoir appelé les méthodes spécifiques de ce type d'objet) pour atteindre la fonction de l'expansion d'un module. Ceux-ci sont réalisés via des classes de configuration.
Objectif de Spring: faire la relation entre les objets (modules et modules) non liés via le code, et sont tous gérés par la description de la classe de configuration (Spring assemble dynamiquement les objets par réflexion en fonction de ces configurations)
N'oubliez pas: le printemps est un conteneur, et seuls les objets dans le conteneur ont ces services et fonctions fournis par Spring.
Le motif de conception le plus classique utilisé au printemps est le modèle de méthode du modèle. (Je ne le présenterai pas ici, c'est un modèle de conception très couramment utilisé). Il existe de nombreuses configurations au printemps, ce qui est difficile à retenir, mais l'essence du printemps n'est rien de plus que les deux points ci-dessus. Après avoir compris les deux points ci-dessus, vous maîtriserez essentiellement le printemps.
Springaop et IOC
1. IOC (InversionOfControl): Contrôle Inversion
1. IOC:
Concept: le contrôle est transféré de l'objet lui-même au conteneur; Le conteneur crée des instances basées sur le fichier de configuration et crée des dépendances entre chaque instance.
Core: Fean Factory; Au printemps, les différentes instances créées par des haricots sont appelées haricots
2. AOP (programmation orientée vers l'aspect): programmation orientée vers l'aspect
1. Deux façons de procuration:
Proxy statique:
Écrivez des classes proxy pour chaque classe spécifique;
Sécrivez une classe proxy pour une interface;
Proxy dynamique:
Écrivez un InvocationHandler pour un aspect, puis empruntez la classe de proxy dans le package de réflexion JDK pour générer dynamiquement des classes de proxy correspondantes pour diverses interfaces.
2. Proxy dynamique:
Il n'est pas nécessaire d'écrire une classe proxy. La machine virtuelle génère une classe basée sur l'interface implémentée par l'objet réel. Il instancie un proxy dynamique à travers la classe. Lors de l'instanciation du proxy dynamique, l'objet et l'équipement réels sont injectés dans le proxy dynamique. Le proxy dynamique expose le proxy dynamique. Lorsque le client appelle la méthode de procuration dynamique, le proxy dynamique obtient la méthode de l'objet réel en fonction de la réflexion de la classe, appelle la méthode invoquée de l'équipement et transmet le proxy, la méthode et les paramètres de méthode dynamiques à la méthode invoquée de l'équipement. La méthode invoquée fait un certain traitement avant ou après l'évocation de la méthode de la méthode.
1. Classes qui génèrent un proxy dynamique:
java.lang.refect.Proxy
2. L'équipement doit implémenter l'interface InvocationHandler pour implémenter la méthode invoquée
3. Réflexion
Qu'est-ce qu'une remise de la classe?
Grâce à la description de la classe, vous pouvez obtenir la classe parent de la classe, l'interface implémentée, la classe interne, le constructeur, la méthode et l'attribut. Vous pouvez instancier un objet en fonction du constructeur, évoquer une méthode, prendre la valeur d'attribut et modifier la valeur d'attribut. Comment obtenir une description de classe:
Classe cls = class.class; Classe cls = object.getClass (); CLASS.FORNAME ("CLASSPATH");Comment obtenir une méthode et l'évoquer?
Classe cls = class.class; Constructor Cons = Cls.getConstructor (new class [] {String.class}); Objet obj = contre.newinstance (nouvel objet [] {"aaa"}); Méthode méthode = cls.getMethod ("Nom de la méthode", new class [] {String.class, Integer.class}); méthode.invoke (obj, nouvel objet [] {"aa", nouvel entier (1)}); 4. Quelles sont les trois méthodes d'injection du printemps?
Setter
interface
constructeur
5. Quels sont l'interface de base et les fichiers de configuration du noyau de Spring?
FactoryBean: les beans d'usine implémentent principalement IOC / DI ApplicationContext AC = new FileXmlApplicationContext ("ApplicationContext.xml"); Objet obj = ac.getBean ("id value");6. 7 modules du cadre du ressort
Le cadre Pring est une architecture hiérarchique composée de 7 modules bien définis. Les modules de printemps sont construits au-dessus du conteneur central, qui définit la façon dont les haricots sont créés, configurés et gérés. 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:
Contaiteur de noyau: le conteneur de noyau fournit les fonctions de base du framework Spring. Le composant principal du conteneur central est Beanfactory, qui est une implémentation du modèle d'usine. BeanFactory utilise le mode d'inversion du contrôle (IOC) pour séparer les spécifications de configuration et de dépendance d'une application à partir du code d'application réel.
Contexte de ressort: le contexte de printemps est un fichier de configuration qui fournit des informations de contexte au framework Spring. Spring Context comprend des services d'entreprise tels que JNDI, EJB, e-mail, internationalisation, capacités de planification de somme de contrôle.
Spring AOP: via la fonction de gestion de la configuration, le module Spring AOP intègre directement les fonctions de programmation orientées vers l'aspect dans le cadre Spring. Par conséquent, il est facile de créer un objet géré par Spring Framework Support AOP. Le module Spring AOP fournit des services de gestion des transactions pour les objets dans les applications basées sur Spring. En utilisant Spring AOP, la gestion des transactions déclaratives peut être intégrée à l'application sans s'appuyer sur les composants EJB.
Spring DAO: La couche d'abstraction JDBC DAO fournit une hiérarchie d'exception significative qui peut être utilisée pour gérer la gestion des exceptions et les messages d'erreur lancés par différents fournisseurs de base de données. La hiérarchie d'exception simplifie la gestion des erreurs et réduit considérablement la quantité de code d'exception qui doit être rédigé (comme les connexions d'ouverture et de fermeture). Les exceptions orientées JDBC de Spring DAO suivent la hiérarchie des exceptions DAO commune.
Spring ORM: Le framework Spring insère plusieurs frameworks ORM, fournissant ainsi des outils de relation d'objet ORM, y compris JDO, Hibernate et Ibatis SQL Map. Tout cela suit la transaction commune de Spring et la hiérarchie des exceptions DAO.
Module Web Spring: le module de contexte Web est construit sur le module de contexte d'application et fournit un contexte pour les applications Web. Par conséquent, le framework Spring prend en charge l'intégration avec Jakarta Struts. Le module Web simplifie également le travail de gestion des demandes en plusieurs parties et des paramètres de demande de liaison aux objets de domaine.
Spring MVC Framework: Le cadre MVC est une implémentation MVC entièrement fonctionnelle pour la création d'applications Web. Grâce à l'interface de stratégie, le cadre MVC devient très configurable et MVC abrite un grand nombre de technologies de vue, y compris JSP, Velocity, Tiles, Itext et POI.
Les capacités du Spring Framework peuvent être utilisées dans n'importe quel serveur J2EE, et la plupart d'entre elles conviennent aux environnements non gérés. Le point central du printemps est: Prise en charge des objets d'accès commerciaux et de données réutilisables qui ne sont pas liés à des services J2EE spécifiques. Il ne fait aucun doute que ces objets peuvent être réutilisés entre différents environnements J2EE (Web ou EJB), des applications autonomes, des environnements de test.
Résumer
Ce qui précède est tout le contenu de cet article sur l'exploration simple du principe de travail du printemps, j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Spring Framework Web Project Pratique Partage de code
Configuration et analyse communes Description de la classe du printemps
Java Programming Implémentation de SpringMVC Simple Login Exemple
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!