QCM Spring
QCM Spring
Question 1 : 1 rep)
Spring Core et la programmation orientés aspect sont à la base du
framework spring ?
Vrai
Faux
Question 2 :
Spring propose deux approches pratiques pour définir de manière
déclarative le comportement transactionnel de vos beans. Citer deux
approches :
- Soit par la méthode des métadonnées en utilisant la configuration ou des annotat
ions
- Soit par des proxy en utilisant Spring AOP.
Question 3 :
Soit f une méthode static d’une classe A ,à un seul paramètre, et qui lève
une exception de type illegalArgumentException lorsqu’on l’execute avec le
paramètre 0.
Ecrire le code pour tester cette fonction en junit4
Question 4 : 1 rep)
Le conteneur spring est :
A. conteneur lourd
B. conteneur d’injection de dépendance
C. un conteneur d’inversion de controle
D. conteneur léger
Question 5 : 1 rep)
QCM Spring 1
Un serveur d’application , en Rest , est sans état par rapport aux requetes
traité[Link] état doit étre géré par le client.
Vrai
Faux
Question 6 : 1 rep)
Quelle est la portée d’un bean stateless dans Spring ? 1 rep)
A . singleton scope
B. Prototype scope
C. Request scope
D. Application scope
Question 7 : 1 rep)
Avec Spring MVC , la méthode de controle suivante
@RequestMapping(value="/reqparam" ,
method=[Link] ,
params={"auth=true" , "refresh","!authenticate"})
public String methodControl() {
return "pagejsp";
}
Traitera la requete http suivante :
A. [Link]
auth=true&refresh=valeur&authenticate
B. [Link]
C. [Link]
Question 8 : 1 rep)
Instanciation d’un conteneur spring permet de charger immédiatement
l’ensemble des beans du conteneur
Vrai
Faux
Question 9 : 1 rep)
QCM Spring 2
L’annotation Test avec l’attribut attendu peut étre utilisée pour tester si
un code lève l’exception souhaitée ou non
Vrai
Faux
Question 10 : 1 rep)
Dans une architecture logicielle, la communication entre couches suit les
règles suivantes :
A. une couche ne doit pas ignorer la couche supérieure
B. une couche ne connait que la couche inférieure et elle ne doit jamais
faire référence à la couche supérieure
C. En termes de langage objet, la communication entre couches
s’effectue en établissant des contrats via des interfaces
Question 11 : 1 rep)
Pour injecter une propriété dans une classe, on utilise le tag
A. La classe doit contenir un setter pour cette propriété
B. La classe doit contenir un constructeur par défaut sans paramètre
C. La classe doit contenir un constructeur ayant comme paramètre
cette propriété
Question 12 : 1 rep)
Il est recommendé de résoudre les injections de dépendances obligatoires
via des injections par constructeur
Vrai
Faux
Question 13 : 1 rep)
Dans un développement piloté par le test TDD, laquelle des énoncés
suivantes est incorrecte :
A. TDD est une méthode de dev de logiciel
pour développer des tests automatisés réutilisables
B. Les classes de tests sont écrites avant les classes métiers
C. Les TDD est utilisé en continu jusqu’à la livraison du logiciel
QCM Spring 3
D. Les résultats du TDD sont des classes de tests aidant les dév à
développer un jeu de test
Question 14 : 1 rep)
Cocher la ou les bonnes réponses
A. par défaut , l’annotation Autowired impose une dépendance
obligatoire. Il est possible de rendre une dépendance optionnelle
B. par défaut , l’annotation Autowired impose une dépendance
obligatoire. Si spring n’arrive pas à résoudre la dépendance , une
exception est générée.
Question 15 : 1 rep)
Quels sont les différents types d’injection de Bean ?
A. constructeur et getter
B. setter , getter et constructeur
C. constructeur et setter
D. getter et setter
Question 16 : 1 rep)
Comment peut-on déclarer un bean, dans un context Spring ?
A. Repository
B. Bean
C. Service
D.
E. Component
Question 17 : 1 rep)
Quels patterns Spring Core permet-il de mettre en place ?
A. MVC
B. Injection de dépendance
C. IOC
D. Service Locator
Question 18 : 1 rep)
QCM Spring 4
Un test fonctionnel est un test :
A. Boite noire
B. Exige la connaissance des spécification métiers
C. Boite blanche
D. Exige la connaissance de la structure du programme testé
Question 19 :
Soit la configuration spring :
<bean id="task" class="[Link]">
<constructor-arg ref="subtask 1" />
<constructor-arg ref="subtask 2" />
</bean>
<bean id="subtask 1" class="[Link].Subtask1" />
<bean id="subtask 1" class="[Link].Subtask2" />
Ecrire un code minimale de la class Task
Question 20 :
Soit le code suivant :
package [Link];
public class Reservation {
private Logger resLogger = [Link]([Link]().getName());
private Logger ensaLogger = [Link]("[Link]");
private Logger orgLogger = [Link]("org");
private Logger logger3 = [Link]();
...}
→ On associe à logger3 un appender3 et un niveau de criticité FATAL
→ On associe à resLogger un resAppender
→ On associe à ensaLogger
1 - Donner la hierarchie des loggers définis ci-dessus .
2 - Donner les appendres que seront appelés dans les cas suivants :
QCM Spring 5
[Link]("message 1");
[Link]("message 2");
[Link]("message 3");
[Link]("message 4");
Question 21 :
Donnant la classe suivante :
public class Person {
private String cin;
private String firstName;
private String secondName;
private String nationality;
...
}
Donner les unités de traitement des controleurs Rest qui traiteront les req :
→ [Link]
⇒ Retourne en json la liste des personnes
→ [Link]
⇒ Retourne en json la personne ayant le cin exprimé dans la requete
→ [Link]
⇒ Retourne en json la liste des personnes ayant comme nationalité
“marocain”
NB : On suppose que vous disposez des méthodes CRUD La classe du
service)
Question 22 : 1 rep)
En REST , le type de retour de la ressource demandée sera décidé par :
A. Le client
B. Le serveur
QCM Spring 6