IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Annotation List Spring


Sujet :

Spring Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut Annotation List Spring
    Bonjour,
    je dois utiliser Spring Ioc dans l'un de mes projets.

    je souhaiterai utiliser les annotations pour l'injection sur une liste.

    je vous montre un cas simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    @Component
    public class Banque {
     
    	@Autowired
    	private List<Agence> agences;
     
    	public Banque() {
    		agences = new ArrayList<Agence>();
    	}
     
    	public List<Agence> getAgences() {
    		return agences;
    	}
     
    	public void setAgences(List<Agence> agences) {
    		this.agences = agences;
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    @Component
    @Scope("prototype")
    public class Agence {
     
    	private String nom;
     
    	public Agence(){
    		nom = "Test";
    	}
     
    	public Agence(String nom){
    		nom = nom;
    	}
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public static void main(String[] args) {
     
    		ConfigurableApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"application-context.xml"});
    		Agence agence1 = (Agence)context.getBean("agence");
    		Agence agence2 = (Agence)context.getBean("agence");
    		Banque banque = (Banque)context.getBean("banque");
     
    		agence1.setNom("agence1");
    		agence2.setNom("agence2");
     
    		banque.getAgences().add(agence1);
    		banque.getAgences().add(agence2);
     
    		System.out.println("Les Agences sont : " +agence1.getNom());
    		System.out.println("Les Agences sont : " +agence2.getNom());
    		System.out.println("Nombre d'agence de la banque : " + banque.getAgences().size());
     
    		for(Agence a:banque.getAgences()){
    			System.out.println("Les Agences  de la banque sont : " + a.getNom());
    		}
     
    		context.close();
    	}
    J'obtiens 3 agences et non 2 (test,agence1,agence2). Cela est il normal? si oui pourquoi? ou est ce que c moi qui comprend de travers??

    mercredi votre aide

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    bah faudrait montrer ton application context déjà

    Mais bon, vu que la liste d'agence est marquée en autowired, je suppose que ta config crée une agence par défaut...

    Pour info, quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @Autowired private List<Agence>
    tu demande à spring d'y injecter toutes les agences qu'il connait à ce moment là. Vu que tu ajoute les agence manuellement par la suite, je n'en vois pas trop l'intérêt.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/11/2007, 11h44
  2. Réponses: 1
    Dernier message: 14/11/2007, 11h02
  3. [Data] [Grails+hibernate+spring] Annotations NoSuchMethodError
    Par quilo dans le forum Spring
    Réponses: 1
    Dernier message: 29/09/2007, 11h52
  4. [Spring MVC] Liste déroulante dans un formulaire.
    Par jc63 dans le forum Spring Web
    Réponses: 3
    Dernier message: 26/07/2007, 09h24
  5. Réponses: 1
    Dernier message: 05/03/2007, 20h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo