Struts, Hibernate et Spring sont des clés couramment utilisées dans notre développement Java. Elles fournissent les solutions les plus appropriées pour différents scénarios d'application. Mais savez-vous comment ces frameworks bien connus ont été créés à l’origine ?
Cours recommandés : Tutoriel Java.
Nous savons que les applications Web Java traditionnelles sont implémentées à l'aide de JSP+Servlet+Javabean. Ce modèle implémente la superposition MVC la plus basique, ce qui rend le programme divisé 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 pose encore des problèmes : par exemple, les pages JSP 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, d'un couplage étroit, faible réutilisabilité du programme, etc.
Les trois frameworks majeurs de Java sont :
1. framework est apparu, qui est une implémentation MVC parfaite. Il a une classe de contrôle centrale (un Servlet). Pour différentes entreprises, nous avons besoin d'une classe Action pour être responsable des sauts de page et des opérations logiques en arrière-plan, et d'une ou plusieurs pages JSP. responsable de l'entrée et de l'affichage des données, il existe également une classe Form chargée de transmettre les 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.2. Hibernate
Le framework Hibernate apparaît à ce moment, ce qui vous oblige à créer une série de classes de persistance. Les attributs de chaque classe peuvent être simplement visualisés comme. Il a une correspondance biunivoque avec les attributs d'une table de base de données. Bien entendu, il peut également être associé à divers fichiers de table dans une base de données relationnelle. 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.
Maintenant, nous avons trois couches, mais quels sont les appels entre chaque couche ? Par exemple, si Struts dans la couche d'affichage doit appeler une classe métier, il doit créer une nouvelle classe métier, puis l'utiliser ; si la couche métier doit appeler la classe de couche de persistance, elle doit également créer une nouvelle couche de persistance ; classe. 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.
3. Spring
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 utilisant l'injection de dépendances, appelé Spring MVC, et pour de bon. Pour gérer les choses, Spring intègre Hibernate , qui élève la gestion des éléments de la couche de persistance d'Hibernate à la couche métier, la rendant plus pratique et plus puissante à utiliser. Le framework Struts a débuté en 2000 et la technologie est assez mature. Actuellement, le framework Struts est le roi incontesté de la technologie de couche d'affichage dans le développement Java mondial. Il dispose d’une large base d’utilisateurs et d’une bonne équipe de développement. C'est également l'exigence de base pour les nouveaux employés de la plupart des éditeurs nationaux de logiciels Java.Autres
Le terme Java semble destiné à être étroitement associé à l'open source. Dans le monde Java, un grand nombre de technologies open source apparaissent chaque jour. Puisqu'il s'agit d'open source, les problèmes et les lacunes de la technologie seront bientôt découverts. , les fournisseurs de logiciels open source modifieront ou étendront rapidement ces technologies, de sorte que la version est mise à jour rapidement et qu'une nouvelle version sera publiée dans quelques semaines ou quelques jours.
Lorsque nous choisissons Java dans la voie technique, nous choisissons également que vous devez continuer à apprendre, toujours prêter attention aux dernières technologies, les comprendre, voir si elles répondent à vos besoins, puis apprendre à les utiliser.
La combinaison SSM de Java est également très bonne, vous pouvez en apprendre davantage.
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!