[JAVA] Quels sont les avantages de DI et de Thymeleaf?

Aperçu

"Spring" est l'un des deux principaux frameworks de Java aujourd'hui. Je vais expliquer quelles sont les principales caractéristiques de ce framework, DI (Dependency Injection) et Thymeleaf.

Avantages de DI

DI consiste à définir en externe les informations requises pour les exigences de formation d'un objet. Par exemple, si vous avez la situation suivante:

Classe A → Classe B
La classe A a une dépendance sur la classe B (la classe B a une dépendance sur la classe A)

Lorsque DI est appliqué, les informations de classe B requises pour la classe A sont découpées vers l'extérieur, de sorte que la situation de la classe B peut être ignorée et la classe A peut être exécutée.

En d'autres termes, il n'y a rien de tel que "Je ne peux pas tester la classe A car il y a toujours une erreur dans la classe B". C'est l'avantage de DI.

Avantages de Thymeleaf

Thymeleaf est un moteur de template utilisé en standard dans Spring Boot. Puisque Thymeleaf décrit la partie variable comme une valeur d'attribut, elle ne se réduit pas même si elle est affichée sur un navigateur.

Donc, "Si vous modifiez la conception, cela ne fonctionnera pas. Cependant, si vous modifiez la fonction pour qu'elle fonctionne normalement, la conception s'effondrera." C'est l'avantage de Thymeleaf.

Les références

https://www.atmarkit.co.jp/ait/articles/0504/29/news022.html https://javazuki.com/articles/thymeleaf-introduction.html

Recommended Posts

Quels sont les avantages de DI et de Thymeleaf?
Et si les résultats de sum et inject (: +) sont différents?
Quelles sont les fonctionnalités mises à jour de Java 13
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~
[Note technique] À propos des avantages et des inconvénients de Ruby
Avantages et inconvénients de Java
'% 02d' Quel est le% de% 2?
Quelles sont les règles de JUnit?
[Java] Que sont les remplacements et les surcharges?
Un bref résumé des conteneurs DI et DI
Pliage et dépliage du contenu de la vue Recycleur
À propos du fonctionnement de next () et nextLine ()
Quelle est la structure des données d'ActionText?
Qu'est-ce que JSP? ~ Connaissons les bases de JSP !! ~
Vérifiez la version de JDK installée et la version de JDK activée
Pensez à la combinaison de Servlet et Ajax
J'ai comparé les caractéristiques de Java et .NET
Quelle est la différence entre SimpleDateFormat et DateTimeFormatter? ??
Apprenez le mécanisme rudimentaire et l'utilisation de Gradle 4.4
À propos de next () et nextLine () de la classe Scanner
[Java] Que faire si le contenu enregistré dans la base de données et le nom de l’énumération sont différents dans l’énumération qui reflète la définition de la base de données
ArrayList et le rôle de l'interface vu depuis List
Vérifiez l'existence de has_many et appartient_to-optional: Qu'est-ce qui est vrai?
Veuillez noter la division (division) de java kotlin Int et Int
La comparaison d'énumération est ==, et equals est bonne [Java]
Quelle est la différence entre System Spec et Feature Spec?
[Grails] À propos de la zone de paramétrage et des éléments de paramétrage de application.yml
Convertit le tableau d'erreurs.full_messages en caractères et sortie
Organiser l'état actuel de Java et envisager l'avenir
Langage Java du point de vue de Kotlin et C #
[Rails] Quelle est la différence entre la redirection et le rendu?
Jusqu'à l'utilisation de Spring Data et JPA Part 2
[JAVA] Quelle est la différence entre interface et abstract? ?? ??
Vérification de la relation entre l'image Docker et le conteneur
Jusqu'à l'utilisation de Spring Data et JPA Part 1
J'ai résumé les types et les bases des exceptions Java
Quelle est la différence entre ignorer et en attente? [RSpec]
[Ruby] Imbrication de classes, héritage et principes de base de soi
Utilisez-vous correctement la méthode par défaut de l'interface?
[Java Silver] Que sont les variables de classe, les variables d'instance et les variables locales?
Quelle est la différence entre les responsabilités de la couche domaine et de la couche application dans l’architecture onion [DDD]
Que dois-je faire après janvier 2019 concernant le problème du paiement Java et le problème de la fin du support Java 8?