QCM Framework Spring – Partie 3

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. Comment fermer explicitement le conteneur IoC dans des applications non Web?

A Utilisation de shutdownNow()

B registerShutdownHook()

B
registerShutdownHook() dans une application autonome (non-Web):
L’annotation @PreDestroy est utilisée sur la méthode de bean pour être avertie lorsque le bean est supprimé du contexte ou lorsque le contexte est en cours de fermeture.

L’événement d’arrêt est déclenché lorsque context.close() ou context.registerShutdownHook() est appelé.

@Component(value="monBean")
public class SomeBean {

    @PreDestroy
    public void destroy() {
        System.out.println("le bean est supprimé ...");
    }
}

 

2. Comment activer les annotations dans Spring?

A Ajoutez <annotation-context: config /> à la configuration du bean.

B Ajoutez <annotation-config /> à la configuration du bean.

C Ajoutez <annotation-context-config /> à la configuration du bean.

D Ajoutez <contexte: annotation-config /> à la configuration du bean.

D
Ajoutez <contexte: annotation-config /> à la configuration du bean pour activer l’utilisation des annotations.

 

3. Quel ORM, Spring prend en charge?

A Hibernate

B iBatis

C JPA

D Tout les réponses sont vrais

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

D
Spring prend en charge la plupart des ORM, notamment Hibernate, JDO, TopLink, iBATIS et JPA.

 

 

4. Un bean doit avoir un attribut id dans le fichier de configuration du bean.

A Vrai

B Faux

B
L’identifiant n’est pas un attribut obligatoire dans le fichier de configuration des beans.

 

5. La classe ________ peut être étendue pour créer un événement personnalisé dans Spring.

A SpringEvent

B Event

C ApplicationEvent

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

C
ApplicationEvent est utilisé pour créer des événements personnalisés.

 

6. Comment utiliser <ref> dans le framework Spring?

A est utilisé avec l’identifiant du bean.

B est utilisé avec une valeur de type String.

C Les deux A et B sont vrais.

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

A

Dans Spring, nous devons utiliser l’élément <ref> pour informer le conteneur spring du dépendance de l’objet.

Dans Spring, les beans peuvent « accéder » les uns aux autres en spécifiant leurs références dans le même fichier de configuration ou dans un fichier de configuration différent. Dans Spring, nous pouvons écrire plusieurs fichiers xml de configuration. Notre bean associé peut se trouver dans le même xml ou dans un autre fichier xml.

Exemple : person-bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans>   
    <bean id="personDetails" class="com.jwt.spring.PersonImpl"/>
</beans>

 

Désormais, dans le fichier XML ci-dessous, nous faisons référence à « personDetails » configuré dans le fichier person-bean.xml. Nous devons donc utiliser la balise « ref » avec l’attribut « bean » i.e <ref bean =" personDetails "/>.

company-bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans>   
    ....
    <bean id="companyId" class="com.jwt.spring.Company">
      <property name="perdetails">
        <ref bean="personDetails"/>
      </property>
    </bean>
     ....
</beans>

 

7. Comment définir le bean dans spring?

A Utilisez uniquement <property />

B Utilisez uniquement <constructor-arg />

C Utilisez <property /> ou <constructor-arg />.

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

C
Exemple:

<bean id="objetB" scope="request" class="a.b.c.classeB"/>

<bean id="objetA" scope="request" class="a.b.c.classeA">
    <constructor-arg ref="objetB" />
    <!-- OU -->
    <property name="bRef" ref="objetB" />
</bean>

 

 

8. Quelle propriété est remplacée par p-namespace dans le framewrok Spring?

A <property />

B <constructor-arg />

A
Dans spring, p-namespace est un raccourci XML permettant d’injecter une dépendance dans le bean. p-namespace remplace la balise <property> de XML. p-namespace n’a pas de définition XSD et n’existe que dans le core de spring. Nous pouvons assigner directement le nom d’attribut de la classe avec p-namespace dans la balise bean. Nous pouvons utiliser p-namespace à la place de la balise <property> dans spring XML. C’est facile et clair d’utiliser ce qui augmentera la lisibilité du contexte du XML. Supposons que nous ayons la définition <bean> en XML comme suit.

<bean id="per" class="x.y.z.Personne">
	<property name="name" value="Alex"/>
	<property name="Address" value="Paris"/>
</bean>

Nous pouvons changer la balise <property> en utilisant p-namespace comme suit.

<bean id="per" class="x.y.z.Personne" p:name="Alex" p:address="Paris"/>

 

9. Quelle propriété est remplacée par c-namespace dans le framewrok Spring?

A <property />

B <constructor-arg />

B
c-namespace a été introduit dans spring 3.1. Il remplace l’ancien style de constructor-arg. Le bean qui doit être configuré avec c-namespace doit avoir un constructeur pour accepter ces arguments.
Exemple – L’ancien style :

<bean id="std" class="x.y.z.Student">
	<constructor-arg name="name" value="BOB"/>
	<constructor-arg name="age" value="25"/>
</bean>

Nous pouvons remplacer constructor-arg en utilisant c-namespace comme suit.

<bean id="std" class="x.y.z.Student" c:name="BOB" c:age="25"/>

 

10. Quel est le rôle de « ApplicationContextAware » dans Spring?

A L’injection de dépendance est effectuée.

B Met un bean au courant du conteneur.

B
Le Bean implémentant l’interface « ApplicationContextAware » peut obtenir le contexte actuel de l’application et peut être utilisé pour appeler n’importe quel service à partir du contexte de l’application.

 

 
 
Partagez cet article

Laisser un commentaire

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