Vous êtes sur la page 1sur 4

Cycle de Formations

Technologique
avancées : Your partner of choice

Framework Spring
M. Belhassen OUESLATI
Ingénieur Java/J2EE

Travaux dirigés TD N°3

Setter Injection

Objectifs

 L’objectif de cet exercice est de mettre en valeur


l’injection par setter avec Spring.

Belhassen.oueslati@gmail.com Setter Injection


1. Etapes :
 Création de l’interface "SayHelloService" qui contient une la méthode
"sayHello()".
 Création de la classe "SayHelloServiceImpl" qui implémente notre interface
"SayHelloService".
 Dans cette classe on ajoute la méthode "setSayHello()".

Voici l'interface : SayHelloService

public interface SayHelloService {

void sayHello();

Voici l'implémentation de l’interface SayHelloService :


Class SayHelloServiceImpl

public class SayHelloServiceImpl implements SayHelloService {

private String sayHello;

public void sayHello() {

System.out.println(sayHello);

public void setSayHello(String sayHello) {

this.sayHello = sayHello;

Belhassen.oueslati@gmail.com Setter Injection


 Déclaration XML : (fichier applicationContext.xml)

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<!-- Setter Injection -->

<bean id="sayHello"
class="com.spring.setterInjection.SayHelloServiceImpl">
<property name="sayHello" value="Hello World">
</property>
</bean>

</beans>

 Chargement des beans et liens (wiring)


 Création de la classe "sayHello".
 Cette classe contient la méthode "main()".
 Dans cette méthode nous allons crée un objet "ctx " de type ApplicationContext
 Depuis cet objet nous allons récupérer le bean " sayHello ".

public class SayHello {

public static void main(String[] args) {

ApplicationContext ctx = new ClassPathXmlApplicationContext(


"com/spring/applicationContext.xml");

SayHelloService sayHelloService = (SayHelloService) ctx.getBean("sayHello ");

sayHelloService.sayHello();

Belhassen.oueslati@gmail.com Setter Injection


2. Question ?
 Exécutez l’exemple, vous allez avoir sur votre console le message
"Hello World" (valeur de la propriété "sayHello" du bean "sayHello".

Belhassen.oueslati@gmail.com Setter Injection