2016-06-17 9 views
0

nullの場合にkeyに別の値を指定する方法はありますか?私は、ソースとdestのdbを使いたいです。しかし、dest dbの詳細がnullの場合は、sourceを使用します。春のコンテキストでプロップキーを使用する場合

<bean id="dataSource" class="com.zaxxer.hikari.HikariConfig"> 
    <property name="poolName" value="springHikariCP" /> 
    <property name="dataSourceClassName" value="oracle.jdbc.pool.OracleDataSource" /> 
    <property name="maximumPoolSize" value="${maximumPoolSize}" /> 
    <property name="idleTimeout" value="${idleTimeout}" /> 
    <property name="connectionTimeout" value="${connectionTimeout}" /> 

    <property name="dataSourceProperties"> 
     <props> 
      <prop key="url">${dest.db.url}</prop> 
      <prop key="user">${dest.db.user}</prop> 
      <prop key="password">${dest.db.password}</prop> 
     </props> 
    </property> 
</bean> 
私が試した何

<property name="dataSourceProperties"> 
     <props> 
      <prop key="url">${dest.db.url?:${src.db.url}}</prop> 
      <prop key="user">${dest.db.user?:${src.db.user}}</prop> 
      <prop key="password">${dest.db.password?:${src.db.password}}</prop> 
     </props> 
    </property> 
</bean> 

DESTのDBの詳細はnullではありませんが、データがソースに書き込まれています。理由は分かりませんか?私はそれを定義している方法に何か間違っていますか?

答えて

0

3進演算子を使用して、spelでif-else条件を指定できます。これを見てください:

小道具名の値を設定する

http://www.mkyong.com/spring3/spring-el-ternary-operator-if-then-else-example/

+0

その方法があれば、他のために、OKですが、私は同じ方法ではありません小道具キーの値を設定していますよ。名前の値では、値を指定するために '#{値}'を使用できますが、その値は直接の値 sandesh

関連する問題