2012-08-31 19 views
6

Java-Spring私はモジュールベースのプロジェクトを持っています。私はDAO層とビジネス層のモジュールを持っています。Java - jarファイルのSpringプロパティファイルの設定

私はプロジェクトのコンパイルにmavenを使用しています。すべてのコンポーネントのjarファイルは、Webプロジェクトlibフォルダの下のグループです。

問題は私はDAO jarの中にスプリングコンテキストファイルと.propertyファイルを持っていますが、私の設定は次のとおりですが、私は春にプロパティを読み込めません。接頭辞はvalue="classpath:abc.propertiesですが、うまくいきませんでした。

DAO jarを開くと、スプリングコンテキストと.propertiesファイルの両方がルートになります。

<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location" value="abc.properties" /> 
    </bean> 

<bean id="cmfModelDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
     <property name="url" value="${jdbc.ConnectionUrl}"/> 
     <property name="username" value="${jdbc.Username}"/> 
     <property name="password" value="${jdbc.Password}"/> 
    </bean> 

この問題をすばやく解決する方法を教えてください。

+0

'classpath *:abc.properties'を試してみましたか? –

+0

上記のコメントをサポートする:http://stackoverflow.com/questions/3294423/spring-classpath-prefix-difference –

+0

はい、しかしうまくいきませんでした –

答えて

1

私は、次のコードを使用して、春のマルチモジュールのWebプロジェクトを持っている:

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

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="${env.datasource.driver}" /> 
    <property name="url" value="${env.datasource.url}" /> 
    <property name="username" value="${env.datasource.username}" /> 
    <property name="password" value="${env.datasource.password}" /> 
</bean> 

ドンの `tは、XMLファイルに名前空間URLを確認するのを忘れ:

xmlns:context="http://www.springframework.org/schema/context"; 

フォルダENV Springがそれを見つけることができるように、クラスパスになければなりません。私のプロパティファイルもjarファイル内にあり、うまくいきます。

0

私はそのエラーがあり、intはコンテキストを初期化する方法と関係している可能性があります。たとえば、Webアプリケーションでは、web.xmlファイルのフィルタIの設定に問題がありました。また、私はありませんxmlファイルが、注釈付きコンフィグクラスを使用して終了し、web.xmlにこれを置い:

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 
<context-param> 
    <param-name>contextClass</param-name> 
    <param-value> 
     org.springframework.web.context.support.AnnotationConfigWebApplicationContext 
    </param-value> 
</context-param> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>com.myapp.configuration.SpringConfig</param-value> 
</context-param> 

あなたは本当にあなたがXmlWebApplicationContextためAnnotationConfigWebApplicationContextを変更する必要がありますxmlファイルを使用したい場合。どのようにコンテキストを初期化しているのか(コードやweb.xmlのように問題が解決しない場合)