Top 80 des questions d'entretien Spring MVC (2024)
Voici les questions et réponses d'entretien Spring MVC pour les candidats les plus récents et les plus expérimentés pour obtenir l'emploi de leurs rêves.
Questions et réponses d'entretien Spring MVC pour les débutants
1) Qu'est-ce qu'un ressort ?
Spring est destiné à être un cadre qui aide Java programmeur pour le développement de code et il fournit un conteneur IOC, un injecteur de dépendances, un flux MVC et de nombreuses autres API pour le programmeur Java.
2) Quels sont les conseils au printemps ?
C'est l'exécution d'un aspect. Les conseils, c'est comme faire apprendre à votre application une nouvelle astuce. Ils sont généralement introduits aux points de jonction.
👉 Téléchargement PDF gratuit : questions et réponses d'entretien avec le framework Spring MVC
3) Quelle est la portée par défaut du bean dans le framework Spring ?
La portée par défaut du bean est Singleton pour le framework Spring.
4) Nommez les types de gestion des transactions pris en charge par Spring ?
La gestion des transactions prise en charge par Spring est :
- Gestion déclarative des transactions.
- Gestion des transactions programmatiques.
5) Les beans Singleton sont-ils thread-safe dans Spring Framework ?
Non, les beans singleton ne sont pas thread-safe dans le framework Spring.
6) Quels sont les avantages de Spring Framework ?
Voici les avantages de Cadre à ressort:
- Utilisation intensive des composants
- Réutilisable
- Découplage
- Réduit les efforts de codage en utilisant des implémentations de modèles telles que singleton, usine, localisateur de services, etc.
- Retrait des connexions qui fuient
- Gestion déclarative des transactions
- Facile à intégrer avec des outils et technologies tiers.
7) Qu’est-ce que Bean Factory ?
Bean Factory est au cœur du framework Spring et c'est un conteneur léger qui charge les définitions de beans et gère vos beans. Les beans sont configurés à l'aide d'un fichier XML et gèrent le bean défini par singleton. Il est également responsable des méthodes de cycle de vie et injecte des dépendances. Il supprime également les singletons et les usines ad hoc.
8) Définir le câblage du bean ?
Le câblage des beans est la création d'associations entre les composants d'application qui se trouvent entre les beans dans un conteneur de ressort particulier.
9) Qu'est-ce qu'on appelle Spring MVC ?
Un Spring MVC est une instance de contrôleur partagé unique et elle est utilisée pour gérer les contrôleurs de type de demande, les intercepteurs qui s'exécutent dans le conteneur IoC. Il autorise également plusieurs servlets Dispatcher qui peuvent partager une interface contextuelle d'application mais pas une interface basée sur les classes.
10) Pourquoi le framework Spring est-il nécessaire ?
Le framework Spring est nécessaire car il est –
- Conteneur très léger
- Cadre
- CIO
- AOP
11) Nommez les différents modules utilisés dans le framework Spring ?
- Module AOP (programmation orientée aspect)
- Abstraction JDBC et module DAO
- Le module conteneur Core
- Module-cadre MVC
- Module de contexte applicatif
- Module d'intégration de mappage O/R (Objet/Relationnel)
- Module Web
12) Expliquez le RowCallbackHandler au printemps ?
Le RowCallbackHandler est appelé pour chaque ligne de ResultSet et est utilisé pour lire les valeurs de ResultSet.
13) Définir le module de contexte d'application ?
Il s'agit d'un module très important qui fournit divers services nécessaires tels que l'intégration d'EJB, l'accès à distance, l'accès JNDI et la planification. Il transforme le printemps en cadre. Il élargit également l'idée de BeanFactory en appliquant des événements de cycle de vie, en fournissant un support pour les messages d'internationalisation et la validation.
14) Écrire sur le module AOP ?
Le module AOP est utilisé pour créer des aspects pour les applications Spring. Il permet également la prise en charge de la programmation des métadonnées au printemps.
15) Qu'est-ce qu'une interface BeanFactory ?
L'interface Bean Factory est utilisée pour fournir un cadre de configuration pour la création d'objets et des fonctionnalités de base autour de la gestion des objets.
16) Indiquer les différences entre ApplicationContext et BeanFactory au printemps ?
- ApplicationContext permet l'existence de plusieurs fichiers de configuration alors que BeanFactory n'en autorise qu'un seul.
- ApplicationContext peut imprimer des événements sur les beans enregistrés en tant qu'écouteurs. Cette fonctionnalité n'est pas prise en charge par BeanFactory.
- ApplicationContext prend également en charge l'application des événements du cycle de vie, les messages d'internationalisation et la validation, ainsi que des services tels que l'intégration EJB, l'accès à distance, l'accès JNDI et la planification. Ces fonctionnalités ne sont pas non plus prises en charge par Bean Factory.
17) Qu'est-ce que le câblage automatique ?
Le câblage automatique est utilisé pour établir des relations entre les beans collaborateurs. Le conteneur Spring peut résoudre automatiquement les collaborateurs pour les beans.
18) Quels sont les différents modes de câblage automatique ?
Le câblage automatique propose cinq modes différents :
- non: pas de câblage automatique
- de nom: Câblage automatique pouvant être effectué par nom de propriété
- par type: type de propriété comme câblé automatiquement
- constructeur: C'est similaire à byType et sa propriété est dans le constructeur
- détection automatique: Spring est autorisé à sélectionner le câblage automatique à partir de byType ou du constructeur
19) Comment commencer à utiliser Spring ?
Les étapes suivantes doivent être effectuées pour commencer avec le printemps :
- Téléchargez Spring et son fichier dépendant depuis le site de Spring.
- Créer un contexte d'application XML pour définir les beans et ses dépendances
- Intégrer le contexte d'application XML avec web.xml
- Déployer et exécuter l'application
20) Quelles sont les méthodes de cycle de vie des haricots ?
Il existe deux méthodes importantes pour le cycle de vie du Bean :
- Configuration – appelée lorsque le bean est chargé dans le conteneur
- Teardown – appelé lorsque le bean est déchargé dans le conteneur
21) Quels sont les différents types d’événements des Auditeurs ?
Voici les différents types d’événements d’auditeurs :
- ContexteClosedEvent – Cet événement est appelé lorsque le contexte est fermé.
- ContextRefreshedEvénement – Cet événement est appelé lorsque le contexte est initialisé ou actualisé
- RequestHandledEvent – Cet événement est appelé lorsque le contexte Web gère la requête
22) Faire la différence entre un bean singleton et un bean prototype ?
Singleton signifie qu'un seul bean est défini par instance d'objet tandis que Prototype signifie une définition pour plusieurs instances d'objet dans Spring.
23) Quels sont les types d’injection de dépendances ?
Deux types d'injection de dépendances sont pris en charge par Spring Framework :
- Injection de poseur
- Injection de constructeur
24) Écrire sur le module conteneur Core ?
Le module conteneur principal est responsable des fonctionnalités de base du framework Spring. L'ensemble du framework Spring est construit avec ce module comme base.
25) Qu'est-ce que le module AOP ?
Ce module AOP est utilisé pour les applications compatibles Spring. Un soutien a été fourni à l'alliance AOP pour assurer l'interopérabilité entre Spring et les autres frameworks AOP.
Il demande à Spring d'ajouter des annotations au code source et d'indiquer comment appliquer les aspects.
Questions d'entretien Spring MVC pour les expérimentés
26) Qu’est-ce que l’AOP Alliance ?
L'alliance AOP est un projet open source qui vise à promouvoir l'adoption de l'AOP. L'objectif de l'alliance AOP est de définir un ensemble commun de composants et d'interfaces afin d'améliorer l'interopérabilité entre les différentes implémentations AOP.
27) Qu'est-ce qu'on appelle le fichier de configuration Spring ?
Le fichier de configuration Spring est un fichier XML et contient des informations de classe. Il décrit également comment ces classes sont configurées et interagissent les unes avec les autres.
28) Quels sont les différents types d’Autowire ?
Il existe quatre types différents de câbles automatiques :
- de nom
- par type
- constructeur
- AutoDetect
29) Quels sont les types de gestion des transactions pris en charge par Spring ?
Voici les types de gestion des transactions pris en charge par Spring :
- déclaratif
- par programmation
30) Quand la gestion déclarative et programmatique des transactions est-elle utilisée ?
Lorsqu'il n'y a qu'un petit nombre d'opérations transactionnelles, il est conseillé d'utiliser la gestion programmatique des transactions. Mais s’il y a un grand nombre d’opérations transactionnelles à gérer, la gestion déclarative des transactions est préférable.
31) Qu'est-ce que le CIO ?
IOC (Inversion of Control pattern) est également connu sous le nom d’injection de dépendances. IOC demande aux programmeurs de décrire comment créer des objets au lieu de les créer réellement. Mais dans ce modèle de conception, ce contrôle a été confié à l'assembleur et l'assembleur instanciera la classe requise si nécessaire.
32) Écrire sur les différents types d'événements liés à l'auditeur ?
Les différents types d’événements liés aux auditeurs sont :
- ContextRefreshedEvénement – Ceci est appelé lorsque le contexte est actualisé ou initialisé.
- RequestHandledEvent – Ceci est appelé lorsque le contexte Web gère une requête.
- ContexteClosedEvent – Ceci est appelé lorsque le contexte est fermé.
33) Qu'est-ce qu'un aspect ?
L'aspect est également appelé journalisation qui est requise dans toute l'application. La journalisation ou aspect est une fonctionnalité transversale dans une application utilisant AOP.
34) Qu'est-ce qu'un Joinpoint ?
Le point où un aspect peut être introduit dans l’application est appelé point de jointure. Ce point peut être un champ en cours de modification, une méthode appelée ou même une exception levée. À ces stades, le code du nouvel aspect peut être ajouté pour introduire un nouveau comportement dans l'application.
Le code d'aspect peut être inséré à ce stade dans le flux normal de l'application pour modifier le comportement actuel.
35) Qu'appelle-t-on un Conseil ?
Un conseil indiquera à l'application un nouveau comportement et c'est la mise en œuvre d'un aspect. Il est inséré dans une application au point de jointure.
Le conseil est la mise en œuvre d’un aspect. C'est quelque chose comme annoncer à votre application un nouveau comportement. Généralement, les conseils sont insérés dans une candidature aux joinpoints.
36) Qu'est-ce qu'un Pointcut ?
Pointcut est utilisé pour indiquer où les conseils peuvent être appliqués.
37) Qu'est-ce que le tissage ?
Le tissage est utilisé pour créer un nouvel objet proxy en appliquant des aspects à l'objet cible.
38) Quelle est la différence entre le bean singleton et le bean prototype ?
Haricot Singleton – Définition d'un seul bean pour une seule instance d'objet par conteneur Spring IOC
Haricot prototype – Définition d'un seul bean pour n'importe quel nombre d'instances d'objet par conteneur Spring IOC
39) Dans quels points le tissage peut-il être appliqué ?
Voici les points où le tissage peut être appliqué :
- Temps de compilation
- Temps de chargement des cours
- Runtime
40) Quels sont les différents types d’AutoProxying ?
Voici les différents types de proxy automatique :
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
- Proxy automatique des métadonnées
41) Comment les haricots peuvent-ils être fabriqués en singleton ou en prototype ?
La balise bean a un attribut appelé « singleton ». Le bean est singleton si sa valeur est « VRAI », sinon le bean est un prototype.
42) Quelles classes sont utilisées pour contrôler la connexion à la base de données ?
Voici les classes utilisées pour contrôler la connexion à la base de données :
- Utilitaires de source de données
- Source de données intelligentes
- Source de données abstraite
- Source de données à connexion unique
- Source de données DriverManager
- Proxy DataSource TransactionAware
- Gestionnaire de transactions DataSource
43) Décrivez le framework DAO dans Spring ?
DAO est utilisé pour fournir l'intégration de Java connectivité de base de données et objets de mappage relationnel objet. DAO est un framework Spring qui fournit une connexion pour JDBC, hibernate, JDO, JPA, une interface client commune et Oracle.
44) Qu'est-ce que le proxy automatique ?
Le proxy automatique est utilisé pour créer automatiquement un proxy pour les utilisateurs Spring. Il propose deux classes suivantes pour prendre en charge cette création automatique de proxy :
- BeanNameAutoProxyCreator
- DefaultAdvisorAutoProxyCreator
45) Qu'est-ce que le proxy automatique des métadonnées ?
Le proxy automatique des métadonnées peut être effectué en s'inspirant des métadonnées. Ceci est déterminé par les attributs au niveau de la source et conserve les métadonnées dans le code source.
Cela maintient les métadonnées au même endroit et est principalement utilisée pour la prise en charge des transactions déclaratives.
46) Qu'est-ce que les « Conseils de lancer » au printemps ?
« Throws Advice » définit le comportement lorsqu'une exception se produit. C'est une interface et elle n'a aucune méthode à implémenter.
Une classe qui implémente cette interface doit avoir une méthode avec cette signature :
- Jet d'échantillon nul (Lancer la tablette)
- Échantillon vide (Méthode m, Objet[] o, Cible de l'objet, Lancer la tablette)
47) Quels sont les différents éditeurs utilisés dans les travaux de printemps ?
Les différents éditeurs personnalisés fournis par Spring Framework sont :
- Éditeur de propriétés
- Éditeur d'URL
- Éditeur de classe
- Éditeur de date personnalisé
- Éditeur de fichiers
- Éditeur de paramètres régionaux
- Éditeur de propriétés StringArray
- Éditeur StringTrimmer
48) Quels sont les avantages du framework Spring ?
Voici les avantages du framework Spring :
- Layered Architecture
- Permet le vieux simple Java Programmation objet (POJO) et permet une intégration et une testabilité continues
- Injection de dépendances et inversion de contrôle qui simplifient JDBC
- Framework open source pouvant être utilisé à des fins commerciales
49) Comment Hibernate est-il accessible à l'aide du framework Spring ?
Hibernate est accessible des deux manières suivantes :
- Par IOC avec un Callback et HibernateTemplate.
- En appliquant un intercepteur AOP et en élargissant HibernateDaoSupport.
50) Quels sont les différents canaux pris en charge par Spring 2.0 ?
Voici les canaux pris en charge par la version Spring 2.0 :
- Canal interrogeable
- Chaîne avec abonnement
- PublierS'abonner à la chaîne
- Canal de file d'attente
- Canal prioritaire
- Chaîne de rendez-vous
- Canal direct
- Canal exécuteur
- Canal limité
Questions d'entretien Spring MVC pour plus de 5 ans d'expérience
51) Pourquoi la gestion déclarative des transactions est-elle privilégiée au Spring ?
La gestion déclarative des transactions a un impact minimal sur le code de l'application et constitue donc un conteneur léger et idéaliste.
52) Expliquez le concept d'une BeanFactory ?
BeanFactory applique l'idée d'un modèle d'usine qui utilise IOC pour séparer les dépendances et la configuration de l'application du code réel.
53) Quelles sont les différentes portées du Spring Bean ?
Les portées du Spring Bean sont Singleton, prototype, requête, session et session globale.
54) Quels sont tous les moyens d'accéder à Hibernate en utilisant Spring ?
Il existe deux façons d'accéder à la mise en veille prolongée à l'aide de Spring :
- Inversion de contrôle avec un modèle Hibernate et un rappel
- Extension d'HibernateDAOSupport et application d'un nœud AOP Interceptor.
55) Comment l'application des jambes de force peut-elle être intégrée au ressort ?
Il existe deux options d'application de jambes de force qui peuvent être intégrées au ressort :
Configuration de Spring pour gérer les beans à l'aide du plugin ContextLoader et définir leurs dépendances dans un fichier de contexte Spring
Récupérez explicitement les beans gérés par Spring en utilisant agetwebapplicationcontext()
56) Qu'est-ce que l'inversion de contrôle (IOC) ?
L'inversion de contrôle (IOC) est également appelée injection de dépendances, qui n'est rien d'autre qu'un modèle de conception qui donne le contrôle à l'assembleur de classes. En général, la classe instanciera une autre classe si nécessaire.
Mais dans ce modèle de conception, ce contrôle a été confié à l'assembleur et l'assembleur instanciera la classe requise si nécessaire.
57) Écrivez les avantages de l'utilisation d'IOC ?
Les principaux avantages de l’injection de dépendances ou IOC sont qu’elle réduit la quantité de codage requise pour l’application. Cela permet de tester l'application rapidement et facilement car aucun mécanisme de recherche JNDI ou singleton n'est requis. Les conteneurs IOC prennent également en charge le chargement paresseux et l'installation rapide des services.
58) Qu’est-ce que le haricot intérieur ? Quel est l’inconvénient du haricot intérieur ?
Si un élément du bean est directement intégré dans une balise de propriété lors du câblage des beans, alors le bean est appelé Inner Bean. Son inconvénient est qu'il ne peut pas être retraité.
59)Quels sont les différents types d’injection au printemps ?
Il existe trois types d’injection au printemps :
- Injection de poseur
- Injection de constructeur
- Getter ou méthode d'injection
60) Quels sont les avantages du framework Spring ?
Voici les avantages du framework Spring :
- Conteneur léger par rapport aux conteneurs j2EE
- Cadre Web MVC intégré
- Crée des applications faiblement couplées
- Prend en charge la programmation orientée aspect comme la journalisation, les transactions et la sécurité
- Configuration réalisée au format XML facile à écrire et à comprendre
61) Quels sont les types de conseils ?
Il existe cinq types de conseils :
- Avant les conseils
- Après avoir renvoyé des conseils
- Après avoir jeté des conseils
- Enfin un conseil
- Autour des conseils
62) Ce qu'on appelle PreparedStatementCreator?
Affirmation préparéeCreator est l'une des interfaces les plus couramment utilisées pour écrire des données dans la base de données. createPreparedStatement() est une méthode qui peut être utilisée pour créer et renvoyer PreparedStatement à partir de l'argument Connection, et la gestion des exceptions est automatiquement prise en charge. Lorsque cette interface est implémentée, une interface différente, SqlProvider, peut également être implémentée, dotée d'une méthode appelée getSql(). Cette méthode est utile pour fournir des chaînes SQL au JdbcTemplate. Il ne gère pas les exceptions SQL.
63) Qu'est-ce que SQLProvider ?
SQLProvider n'a qu'une seule méthode appelée getSql()
et il est implémenté en utilisant PreparedStatementCreator exécutants. Il est principalement utilisé pour le débogage.
64) Écrire sur BatchPreparedStatementSetter ?
BatchPreparedStatementSetter est utilisé pour mettre à jour plusieurs lignes en une seule fois, ils peuvent utiliser BatchPreparedStatementSetter. Cette interface propose deux méthodes :
- setValues (PreparedStatement ps, int i) lève une exception SOL
- int getBatchSize
65) Quelle est la meilleure méthode pour utiliser JDBC au printemps ?
Si JDBC est utilisé avec la classe modèle appelée JdbcTemplate, cela donne de meilleures performances.
66) Quelles exceptions les classes DAO utilisent-elles dans Spring ?
Au printemps, les classes DAO ne lancent que SQLException.
67) Expliquez les avantages de l'utilisation du module DAO ?
Le code de la base de données peut rester propre et simple en utilisant le module DAO. Cela permet d'éviter les problèmes résultant d'une mauvaise gestion des fermetures de ressources de base de données. En outre, le module DAO utilise le module AOP pour permettre aux objets de l'application Spring d'utiliser les services de gestion des transactions.
68) Nommez les implémentations importantes d'ApplicationContext utilisées dans le framework Spring ?
Ils sont les suivants:
- ClassPathXmlApplicationContextClassPathXmlApplicationContext
- FileSystemXmlApplicationContextFileSystemXmlApplicationContext
- XmlWebApplicationContextXmlWebApplicationContext
69) Comment un bean est-il ajouté à une application Spring ?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"> <beans> <bean id="foo"/> <bean id="bar"/> </beans>
La balise du bean a un attribut ID qui stocke le nom du bean et un attribut de classe qui spécifie le nom complet de la classe.
70) Que sont les modules d'intégration ORM ?
L'outil de mappage objet/relationnel (ORM) est pris en charge par Spring sur JDBC direct en implémentant le module ORM. Spring peut rejoindre divers frameworks ORM importants, notamment JDO, iBATIS SQL Maps et Hibernate.
71) Mentionner et expliquer les types de conseils au printemps ?
Les types de conseils sont :
- Avant conseil : Les conseils exécutés avant un point de jointure sont appelés « avant conseil ».
- Après avoir renvoyé des conseils : Les conseils exécutés après l'achèvement normal d'un point de jointure sont appelés « conseils après retour ».
- Après avoir lancé des conseils : Les conseils qui sont exécutés uniquement si une méthode se termine anormalement en lançant une exception sont appelés « conseils après lancement ».
- Après (enfin) conseils : Les conseils qui sont exécutés quelle que soit la manière dont un point de jointure se termine sont appelés « après le conseil final ».
- Conseils autour : Les conseils qui bordent un point de jointure, par exemple un appel de méthode, sont appelés « conseils autour ». Cela peut être utilisé pour effectuer des activités spéciales avant et après l’invocation de la méthode.
72) Qu'est-ce que le module web ?
Le module web permet la création d'une application web sans XML. Le fichier web.xml doit être configuré pour utiliser le module Web.
73) Qu'est-ce que DataAccessException ?
DataAccessException est une RuntimeException. C'est une exception non vérifiée. L'utilisateur ne peut pas être obligé de gérer ce type d'exceptions.
74) Qu'est-ce que XMLBeanFactory ?
Spring comprend plusieurs applications de Bean Factory. Parmi ceux-ci, org.springframework.beans.factory.xml.XmlBeanFactory est un élément très important. Il charge les beans sur la base des définitions stockées dans un fichier XML. Pour la création d'un XmlBeanFactory, un java.io.InputStream est passé au constructeur. Le InputStream fournit le XML à l’usine. Par exemple, pour récupérer le bean, la méthode getBean() est appelée en passant le nom du bean souhaité.
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) Nommer la classe Exception qui est connectée aux exceptions levées par les applications ?
Il s'agit de la DataAccessException donnée par org.springframework.dao.DataAccessException
76) Mentionner les types de lOC (injection de dépendance) ?
Les différents types de LoC sont : –
- Injection de setter : Avec l'aide d' JavaPropriétés des haricots.
- Injection constructeur : Les dépendances sont données sous forme de paramètres constructeur.
- Injection d'interface : A l'aide d'une interface, une injection est effectuée.
Sur ces trois, seules les constructions et les poseurs sont utilisés au printemps.
77) Quelles sont les méthodes importantes du cycle de vie des haricots ?
Au total, il existe deux méthodes de cycle de vie des beans. La première méthode est la méthode de configuration qui est appelée lors du chargement du bean dans le conteneur. La seconde a lieu lorsque le grain est déchargé du conteneur, et cette méthode est appelée démontage.
78) Comment les méthodes de cycle de vie par défaut des beans peuvent-elles être annulées ?
La balise bean possède deux attributs utiles qui peuvent être utilisés pour définir des méthodes spéciales d'initialisation et de destruction.
Par exemple, deux nouvelles méthodes forSetup et forTeardown peuvent être ajoutées à la classe Foo de la manière suivante :
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79) Qu'est-ce qu'un Target?
Une cible est la classe qui est conseillée. Cette classe peut être soit une classe à laquelle on souhaite ajouter un comportement spécial, soit une classe tierce. La classe cible est libre de se concentrer sur sa préoccupation majeure en utilisant les concepts AOP, quels que soient les conseils appliqués.
80) Expliquez le terme Proxy ?
Le terme proxy fait référence à un objet qui est produit par l'application d'un conseil à l'objet cible.
81) Quelles sont les préoccupations transversales et les préoccupations de l'AOP du printemps ?
- Préoccupation transversale : C’est une préoccupation qui s’applique à toute l’application et qui affecte l’ensemble de l’application. Par exemple, la sécurité, la journalisation et le transfert de données sont des préoccupations nécessaires dans presque tous les modules d'une application.
- Préoccupation: Le souci est un comportement que l’on souhaite avoir dans un module d’une application. Les questions qui nous intéressent définissent notre préoccupation.
Ces questions d'entretien vous aideront également dans votre soutenance