Le framework Java, au sens simple, est un composant de conception réutilisable. Il stipule l'architecture de l'application et clarifie les dépendances, la répartition des responsabilités et le processus de contrôle entre l'ensemble de la conception et les composants collaboratifs. collaboration entre une classe abstraite de groupe et ses instances, qui fournit une relation contextuelle pour la réutilisation des composants.
Quels sont les frameworks Java couramment utilisés
Struts, Hibernate et Spring sont ceux que nous utilisons ? utilisation dans le développement Java Frameworks couramment utilisés, ils fournissent les solutions les plus appropriées pour différents scénarios d'application. Mais savez-vous comment ces frameworks bien connus ont été produits à l'origine ?
Nous savons que les applications Web Java traditionnelles sont implémentées à l'aide de JSP+Servlet+Javabean. Ce modèle implémente les couches les plus basiques. structure du programme en plusieurs couches, y compris JSP responsable de l'affichage frontal, Servlet responsable du contrôle logique du processus et Javabean
responsable de l'encapsulation des données. Cependant, cette structure présente encore des problèmes : par exemple, JSP. les pages doivent utiliser des symboles pour intégrer beaucoup de code Java, ce qui entraîne une structure de page confuse. Les servlets et les Javabeans sont responsables de nombreux sauts et calculs, ce qui entraîne un couplage étroit et une faible réutilisabilité du programme.
Afin de résoudre ces problèmes, le framework Struts est apparu. Il s'agit d'une implémentation MVC parfaite. Il dispose d'une classe de contrôle centrale (un Servlet). Pour différentes entreprises, nous avons besoin d'une classe Action. responsable de la page. Pour les sauts et les opérations logiques d'arrière-plan, une ou plusieurs pages JSP sont responsables de l'entrée et de la sortie des données, et une classe Form est responsable du transfert des données entre Action et JSP. Un ensemble de balises fourni par le framework Struts peut être utilisé dans JSP, ce qui est aussi simple que l'utilisation de balises HTML, mais peut compléter une logique très complexe. Désormais, il n'est plus nécessaire d'avoir une ligne de code Java entourée dans la page JSP.
Cependant, placer toute la logique de fonctionnement dans l'action de Struts rendra la classe Action moins réutilisable et la logique prête à confusion. Par conséquent, les gens divisent généralement l'ensemble de l'application Web en trois couches responsables de la couche d'affichage. . La couche métier est appelée pour compléter la logique de fonctionnement, et la couche métier appelle ensuite la couche de persistance pour terminer la lecture et l'écriture de la base de données.
Utilisez la connexion JDBC pour lire et écrire la base de données. La chose la plus courante que nous faisons est d'ouvrir la connexion à la base de données, d'utiliser des instructions SQL complexes pour lire et écrire et de fermer la connexion. ou encapsulé puis transmis à l'extérieur. Il s'agit d'un processus très fastidieux.
A cette époque, le framework Hibernate est apparu, qui vous oblige à créer une série de classes de persistance. Les attributs de chaque classe peuvent être simplement considérés comme une correspondance biunivoque avec les attributs d'une table de base de données. Bien entendu, il peut également être implémenté Correspondance de diverses associations de fichiers de tables dans des bases de données relationnelles. Lorsque nous avons besoin d'opérations associées, nous n'avons plus besoin de prêter attention à la table de la base de données. Nous n'avons plus besoin d'interroger la base de données ligne par ligne. Nous avons seulement besoin de la classe de persistance pour compléter les fonctions d'ajout, de suppression, de modification et de requête. Rendre notre développement logiciel véritablement orienté objet plutôt que orienté code désordonné. Mon sentiment est que l'utilisation d'Hibernate réduit la quantité de programmation de 80 % par rapport à JDBC.
Nous avons maintenant trois couches, mais quels sont les appels entre chaque couche ? Par exemple, si Struts dans la couche d'affichage doit appeler une classe affaires, il doit créer une nouvelle classe affaires puis l'utiliser ; la couche métier a besoin Pour appeler la classe de couche de persistance, vous devez également créer une nouvelle classe de couche de persistance. S'appeler via cette nouvelle méthode est l'incarnation de la pire conception en matière de développement logiciel. Pour faire simple, l'appelant dépend de l'appelé, et un couplage fort se forme entre eux. Si je souhaite réutiliser une classe ailleurs, d'autres classes dont dépend cette classe doivent également être incluses. Le programme devient très déroutant, chaque classe dépend les unes des autres et s'appelle, et le degré de réutilisabilité est extrêmement faible. Si une classe est modifiée, de nombreuses classes qui en dépendent seront affectées. A cet effet, le framework Spring apparaît.
Le rôle de Spring est de découpler complètement les dépendances entre les classes. Si une classe dépend de quelque chose, c'est une interface. Quant à la manière d’implémenter cette interface, cela n’a pas d’importance. Tant que vous obtenez une classe qui implémente cette interface, vous pouvez facilement injecter la classe d'implémentation dans la classe qui appelle l'interface via le fichier de configuration XML. Cette dépendance entre toutes les classes est complètement remplacée par des fichiers de configuration. Ainsi, le cœur du framework Spring est ce qu'on appelle l'injection de dépendances et l'inversion de contrôle.
La structure actuelle est que Struts est responsable de la couche d'affichage, Hibernate est responsable de la couche de persistance et Spring est responsable de la couche métier intermédiaire. Cette structure est actuellement l'architecture d'application Web Java la plus populaire en Chine. . De plus, comme Spring utilise l'injection de dépendances et l'AOP (programmation orientée aspect), son modèle interne est si excellent que Spring lui-même a également implémenté un framework MVC qui utilise l'injection de dépendances, appelé Spring MVC en même temps, pour de bon. choses, Spring intègre Hibernate, qui élève la gestion des choses de la couche de persistance d'Hibernate à la couche métier, la rendant plus pratique et plus puissante à utiliser.
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!