Intégration du framework SSH : Configuration et exemple avec la gestion de livres

Le framework SSH est une intégration des technologies Struts, Spring et Hibernate pour le développement d'applications web Java. Il ne doit pas être confondu avec le protocole Secure Shell. Cette architecture répartit les responsabilités en quatre couches : présentation, logique métier, persistacne des données et objets du domaine. Struts fourn ...

Publié le 1 juillet à 19h29

Stratégies d'optimisation des transactions longues avec Spring

Comprendre les transactions longues Une transaction longue (ou "Big Transaction") désigne une opération dont le temps d'exécution dépasse les seuils recommandés pour maintenir la santé d'une base de données. En Spring, les transactions sont gérées via deux approches : déclarative (@Transactional) ou programmatique (TransactionTemplate ...

Publié le 29 juin à 00h20

Comprendre l'implémentation de ImportSelector dans Spring Framework

Dans une classe annotée avec @Configuration, l'annotation @Import permet d'importer d'autres configurations. Elle peut également inclure des implémentations de l'interface org.springframework.context.annotation.ImportSelector. L'interfcae ImportSelector définit la méthode selectImports(), qui retourne un tableau de noms de classes à enregistrer ...

Publié le 25 juin à 20h31

Scénarios d'échec de la transaction Spring

Dans une même classe, un appel d'une méthode transactionnelle à une méthode non transactionnelle peut fonctionner correctement. En revanche, le cas contraire où la transaction échoue est illustré par le point 4 ci-dessous (appel interne dans une même classe). @Autowired private XXXMapper xxxMapper; @Autowired private YYYMapper yyyMapper; @Tra ...

Publié le 25 juin à 16h07

Simplification des appels HTTP avec RestTemplate dans Spring

Lors de ma lecture de documents sur Spring Cloud, je suis tombé sur le composant Feign et j'ai découvert qu'il utilisait RestTemplate en interne. Cette découverte a éveillé ma curiosité et j'ai décidé d'explorer son fonctionnement interne. Quelle agréable surprise ! Je ne connaissais pas cette classe et son approche si élégante. Autrefois, pour ...

Publié le 25 juin à 03h56

Initialisation du conteneur SpringMVC avec l'interface ApplicationListener de Spring

Dans les applications SpringMVC, l'initialisation du conteneur est généralement configurée via le fichier web.xml. Cependant, pour des besoins de test ou de flexibilité, il peut être pratique de charger directement le fichier de configuration Spring-MVC. L'utilisation de l'interface ApplicationListener de Spring offre une méthode élégante pour ...

Publié le 24 juin à 21h39

Configuration d'un client Dubbo pour l'invocation de services distants

La consommation d'un service Dubbo correspond à l'invocation de méthodes à distance à partir d'une application cliente, en s'appuyant sur un registre de servicse pour la découverte. 1. Structure du projet : Le projet de consommation est organisé pour intégrer les dépendances nécessaires et les fichiers de configuration. 2. Dépendances Maven (po ...

Publié le 24 juin à 21h22

Principe fondamental de l'Inversion de Contrôle (IoC) via injection par méthode setter

Qu'est-ce que l'IoC ? L'Inversion de Contrôle (IoC) est un principe où le contrôle des opérations est transféré du développeur à un composant externe ou à l'utilisateur. Dans cet article, nous explorons une implémentation basique de l'IoC à travers l'injection de dépendances par méthode setter. Mise en pratique Commençons par définir une couche ...

Publié le 22 juin à 01h43

Guide de préparation à l'entretien sur MyBatis

Comprendre le framework MyBatis MyBatis se positionne comme un framework de mapping objet-relationnel (ORM) partiel. Contrairement aux solutions ORM complètes, il encapsule les opérations JDBC tout en laissant aux développeurs le contrôle total sur les requêtes SQL. Cette approche élimine les tâches répétitives telles que la configuration des p ...

Publié le 20 juin à 19h58

Caféine : Une Solution de Cache Haute Performance en Java

Caféine est une réimplémentation du cache Guava utilisant Java 8. Elle offre une expérience considérablement améliorée par rapport au cache de Guava et à ConcurrentLinkedHashMap. C'est un bibliothèque de cache hautes performances, considérée comme le cadre de cache optimal pour Java 8. Le Cache Guava Le cache Guava de Google est une excellente ...

Publié le 16 juin à 01h49