2016-01-22 1 views
0

Je suis nouveau dans Spring framework. J'ai une classe Java appelée ConnectionFactory et je dois ajouter ceci comme un haricot de printemps. Il a deux propriétés hostname et port et j'ai ajouté avec succès comme suit.Représentation du haricot de printemps avec la classe java

<bean class="com.xxx.xxx.ConnectionFactory"> 
       <property name="hostName" value="192.16.32.45"/> 
       <property name="port" value="1418"/> 

       .......................... 
      </bean> 

Cette classe contient également un appel de méthode createConnection(String username, String password). J'ai besoin de passer des valeurs pour le nom d'utilisateur et le mot de passe via ce bean. Comment puis-je faire ceci?

+0

Avez-vous envisagé d'utiliser les annotations Composant, PostConstruct et Value pour configurer votre conteneur de ressorts? –

Répondre

0

vous pouvez ajouter

<bean id="conFactory" class="com.xxx.xxx.ConnectionFactory" /> 
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="targetObject"> 
     <ref local="conFactory"/> 
    </property> 
    <property name="targetMethod"> 
     <value>createConnection</value> 
    </property> 
    <property name="arguments"> 
     <list> 
      <value>username</value> 
      <value>password</value> 
     </list> 
    </property> 
</bean> 
0

Dans votre cas, vous avez le nom d'hôte et le port vous shoud utiliser init-method="init" méthode comme ceci:

<bean id="connectionFactory" class="com.xxx.xxx.ConnectionFactory" init-method="init"> 
      <property name="hostName" value="192.16.32.45"/> 
      <property name="port" value="1418"/> 

      .......................... 
     </bean> 

et données retrive en classe comme:

public class YourClass 
    { 
    private ConnectionFactory connectionFactory ; 
    public void init() { ... } // Loads a configuration 

     // Getters and setters 
    }