QCM Framework Spring – Partie 6

QCM sur le framework Spring avec des réponses pour la préparation des entretiens d’embauche, tests en ligne, examens et certifications. Ces questions et réponses sur Spring comprennent divers sujets tel que les bases du Spring, Injection de dépendance, MVC3, AOP, sécurité, annotation, intégration et concepts avancés de Spring. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur Spring.
 
 

1. Lequel des énoncés suivants est correct concernant le Framework Spring

A Le Framework Spring est une solution lourde(heavy-weight solution).

B Le Framework Spring est une solution légère(light-weight solution).

C Les deux A et B sont vrais.

D Aucune de ces réponses n’est vraie.

B
De nombreuses raisons font du spring un framework léger.

  • Spring vous fournit différents modules et vous permet d’utiliser celui qui vous convient le mieux. Idéalement, le fichier JAR de spring ne mesure que 2 à 3 MB.
  • Si vous comparez Spring avec EJB, vous devez écrire beaucoup moins de code et de configurations. La beauté de Spring réside dans le fait que vous pouvez vous concentrer sur la logique métier alors que dans EJB, vous devez écrire beaucoup de code en même temps que la logique métier qui le rend encombrant et étroitement couplé.
  • Avec Spring, vous jouez avec POJO qui ne dépend pas d’un Framework et améliore la testabilité de votre code.
  • Spring propose une intégration transparente avec les frameworks, les bibliothèques tierces, etc.

 

2. Dans quelle scope un nombre quelconque d’instances d’un bean peut-il être créé?

A Request scope

B Prototype scope

B
La portée Prototype étend une définition d’un bean à un nombre illimité d’instances d’objet.

 

3. Quand un bean a une portée limitée ou un scope limitée à une requête HTTP, cela s’appelle _____?

A Request scope

B Session scope

A
La portée Request étend une définition d’un bean unique à un cycle de vie d’une requête HTTP unique; c’est-à-dire que chaque requête HTTP aura sa propre instance d’un bean créée. Valable uniquement dans le contexte de ApplicationContext.

 

 

4. Quand un bean a une portée limitée ou un scope limitée à une session HTTP, cela s’appelle _____?

A Request scope

B Session scope

B
La portée Session étend une définition d’un bean unique à un cycle de vie d’une session HTTP unique. Valable uniquement dans le contexte de ApplicationContext dans Spring.

 

5. Dans quelle portée/scope, une instance unique d’un bean est-elle créée par le conteneur IoC?

A Singleton scope

B Request scope

A
La portée Singleton étend une définition d’un bean à une instance unique d’un objet de chaque conteneur IoC.

 

6. Quelle est la portée d’un bean stateless dans Spring?

A Singleton scope

B Prototype scope

A
Si la portée est définie sur prototype, le conteneur Spring IoC crée une nouvelle instance de l’objet bean à chaque fois qu’une requête pour ce bean spécifique est effectuée. En règle générale, utilisez la portée du prototype(Prototype scope) pour tous les beans state-full et la portée du singleton(Singleton scope) pour les beans stateless(sans-état).

 

7. Quelle est la réponse correcte concernant le cycle de vie des beans dans Spring.

A La méthode avec l’annotation @PostConstruct est appelée après l’instanciation du bean et avant le paramétrage de ses propriétés.

B La méthode @PreDestroy d’un prototype d’un bean est appelée lorsque le bean est détruit.

C La méthode init() déclarée dans l’attribut init-method d’un bean est appelée avant la méthode de callback afterPropertiesSet de l’interface InitializingBean.

D La méthode avec l’annotation @PostConstruct est appelée avant la méthode de callback afterPropertiesSet de l’interface InitializingBean.

D
  • Dans le cycle de vie d’un bean, la méthode avec l’annotation @PostConstruct est appelée après l’étape de définition des propriétés et l’étape BeanPostProcessors#postProcessBeforeInitialization.
  • Détruire les méthodes de prototype d’un bean ne sont jamais appelés
  • Dans le cycle de vie d’un bean, la méthode de callback afterPropertiesSet de InitializingBean est appelée après la méthode avec l’annotation @PostConstruct et avant la méthode init déclarée dans le fichier de configuration XML.
  • Dans le cycle de vie d’un bean, la méthode avec l’annotation @PreDestroy est appelée avant le callback de destroy de l’interface DisposableBean et avant la méthode destroy déclarée dans le fichier de configuration XML.

 

 

8. Lequel n’est pas correct à propos des avantages d’utiliser Spring lors de l’écriture de tests d’intégration?

A Réutiliser les fichiers de configuration Spring de l’application

B Créer un mock ou un stub

C Pouvoir utiliser la restauration après le test

D Utiliser l’injection de dépendance

B
Les mocks ou les stubs sont plus fréquents dans les tests unitaires que dans les tests d’intégration. Et Spring ne fournit aucune implémentation ou abstraction du mock.

 

9. Quelle est la réponse correcte concernant le module de test de Spring ?

A Il fournit une couche d’abstraction pour les frameworks mock open source

B Fournit l’annotation @Mock

C Il génère dynamiquement des objets mock

D Aucune de ces réponses n’est vraie.

D

 

10. Quelles sont les fonctionnalités du XML <contexte: namespace ?

A Analyse des annotations transactionnelles

B Activation de la détection d’annotation @Aspect

C Activer l’annotation @Autowired

D Aucune de ces réponses n’est vraie.

C
  1. Utilisez <tx:annotation-driven> pour activer l’annotations @Transactional
  2. Utilisez <aop: aspectj-autoproxy> pour activer la détection du bean @Aspect.
  3. Utilisez <contexte: annotation-config> ou <contexte: composant-scan> pour activer l’annotation @Autowiring

 

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *