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 :

Spring et factory-method


Sujet :

Spring Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 61
    Par défaut Spring et factory-method
    J'utilise actuellement le framework spring pour la gestion de certain bean de mon application.

    je voudrais passer des paramettres à la method et je n'arrive pas ecq qlq à une idée comment je dois faire.

    voici mon fichier de conf.xml

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
     
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
     
    <beans default-lazy-init="true">
     
     
      <!--  AccessRghitService  -->
     
      <bean id="testSpring" class="test.spring.od.testSpring">
     
     	<property name="authManager">
    	      		<ref local="authManager"/>
    	 </property>    
     
         <property name="x">
    	    		<value>1</value>
    	 </property>
    	 <property name="y"> 
    	    		<value>2</value> 
    	 </property>   
     
    	 <property name="z"> 
    	    		<value>3</value> 
    	 </property>   
     
    	   <property name="login">
    	    		<value>mdehbi</value>
    	    </property>
    	    <property name="password"> 
    	    		<value>joana123</value> 
    	    </property>    
      </bean>
     
     
       <bean id="authManager"  factory-bean="testSpring"
       factory-method="getISVNAuthenticationManager">
       		   </bean>
     
      <!--  AccessRghitService  -->
    </beans>

  2. #2
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    Quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <bean id="exampleBean" class="examples.ExampleBean"
    factory-method="createInstance">
    <constructor-arg><ref bean="anotherExampleBean"/></constructor-arg>
    <constructor-arg><ref bean="yetAnotherBean"/></constructor-arg>
    <constructor-arg><value>1</value></constructor-arg>
    </bean>

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 61
    Par défaut
    j'ai essayé de passer par le parametre constructor-arg du bean mais j'ai tjrs une exception Spring :

    voici mon conf.xml:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
     
    <beans default-lazy-init="true">
     
     
      <!--  AccessRghitService  -->
     
      <bean id="testSpring" class="test.spring.od.testSpring">
     
     	<property name="authManager">
    	      		<ref local="authManager"/>
    	 </property>    
     
         <property name="x">
    	    		<value>1</value>
    	 </property>
    	 <property name="y"> 
    	    		<value>2</value> 
    	 </property>   
     
    	 <property name="z"> 
    	    		<value>3</value> 
    	 </property>   
     
    	   <property name="login">
    	    		<value>mdehbi</value>
    	    </property>
    	    <property name="password"> 
    	    		<value>joana123</value> 
    	    </property>    
      </bean>
     
     
       <bean id="authManager"  factory-bean="testSpring"
           factory-method="getISVNAuthenticationManager">
          <constructor-arg><value>1</value></constructor-arg>
          <constructor-arg><value>1</value></constructor-arg>
       </bean>
     
      <!--  AccessRghitService  -->
    </beans>
    voici mon exception :

    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
     
     
    INFO: Creating shared instance of singleton bean 'authManager'
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testSpring' defined in class path resource [applicationContext-services.xml]: Can't resolve reference to bean 'authManager' while setting property 'authManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authManager' defined in class path resource [applicationContext-services.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Cannot find matching factory method 'getISVNAuthenticationManager' on class [test.spring.od.testSpring]
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authManager' defined in class path resource [applicationContext-services.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Cannot find matching factory method 'getISVNAuthenticationManager' on class [test.spring.od.testSpring]
    org.springframework.beans.factory.BeanDefinitionStoreException: Cannot find matching factory method 'getISVNAuthenticationManager' on class [test.spring.od.testSpring]
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:455)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:308)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:257)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:222)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:146)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:982)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:905)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:846)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:675)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:331)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:257)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:222)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:150)
    	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:508)
    	at test.spring.od.WebServiceLocator.returnObjectTestSpring(WebServiceLocator.java:38)
    	at test.spring.od.WebServiceLocator.main(WebServiceLocator.java:45)
    Exception in thread "main"



  4. #4
    Membre confirmé Avatar de fedfil
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Par défaut
    Salut Dehbi,

    Ta classe getISVNAuthenticationManager est-elle bien statique ?

    Cf. http://www.springframework.org/docs/reference/beans.html#d0e495

Discussions similaires

  1. jsf spring hibernate invoke methode
    Par rasmusin dans le forum JSF
    Réponses: 3
    Dernier message: 17/04/2008, 09h01
  2. [Fabrique] [Factory Method] Questions
    Par Aïssa dans le forum Design Patterns
    Réponses: 4
    Dernier message: 17/01/2007, 12h39
  3. Réponses: 1
    Dernier message: 12/06/2006, 19h02
  4. factory method
    Par mencaglia dans le forum C++
    Réponses: 2
    Dernier message: 31/01/2006, 09h02
  5. [GOF] Abstract Factory vs Factory Method
    Par Greybird dans le forum Design Patterns
    Réponses: 3
    Dernier message: 10/06/2005, 22h42

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