2017-10-31 35 views
0

私はすべてのプロパティをロードしているコンテキストリスナを持っています。これらのプロパティは、私は私の春-web.xmlに設定しようとしているが、そのフェッチとxmlここSpring-web.xmlにプロパティ値を設定できません

にプロパティを設定することはできません、私の春-web.xmlのであるから、それは例外に

をスローします

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 

    <property name="driverClassName" value="com.ibm.as400.access.AS400JDBCDriver" /> 
    <property name="url" value="jdbc:as400://localhost/BB" /> 
    <property name="username" value="{as400.username}" /> 
    <property name="password" value="{as400.password}" /> 
</bean> 

ロードプロパティの私のクラス

public class LoadProperties implements ServletContextListener { 

private static Properties properties = null; 
private static Logger logger = Logger.getLogger(LoadProperties .class); 

@Override 
public void contextDestroyed(ServletContextEvent arg0) { } 

@Override 
public void contextInitialized(ServletContextEvent arg0) { 
    properties = BBUtil.getProperties("datasource-cfg.properties"); 
    for (String prop : properties.stringPropertyNames()) { 
     logger.info("Property Loaded :"+properties.getProperty(prop)); 
     if (System.getProperty(prop) == null) {    
      System.setProperty(prop, properties.getProperty(prop)); 
     } 
    } 
} 

} 

このクラスは、実行され、システムの下でプロパティを設定なっています。

これは私の性質は、私は私の春-web.xmlの

に値を設定することができます任意のアイデアをいただければ幸いどう

as400.username=ROOT 
as400.password=ROOT 

ファイルです。

答えて

0

我々は、プロパティファイルには、HTTPなどの接頭辞を使用してロードすることができますcontext:property-placeholder

<context:property-placeholder location="classpath:db.properties" /> 

<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="dbHost" value="${db.url}"/>  
     <property name="dbPort" value="${db.number}"/> 
     <property name="dbService" value="${db.name}"/> 
     <property name="dbUrl" value="${db.user}"/> 
     <property name="dbPassword" value="${db.password}"/> 
    </bean> 

を使用して、それを読み込む:ファイル:

を次のように

プレースホルダは、$記号で使用する必要があります

<property name="username" value="${as400.username}" /> 
<property name="password" value="${as400.password}" /> 

ExtendedIllegalArgumentExceptionは、渡された引数が本質的に無効であることを示します。

+0

私は愚かな間違いをしました。ありがとうAmdg :)作品 – Yakhoob

関連する問題