2011-02-02 4 views
1

からxmlをロードすると、プロパティファイルから春を使用してxmlファイルにデータをロードできますか?はいの場合は誰でもその例を挙げることができますか?プロパティファイル

ここ

はxmlです:

<cluster balancer="load" 
     dialect="net.sf.hajdbc.dialect.MySQLDialect" 
     default-sync="full" 
     transaction-mode="parallel" 
     auto-activate-schedule="0 * * ? * *" 
     failure-detect-schedule="0 * * ? * *" 
     meta-data-cache="none"> 
<database id="database1"> 
    <driver>***</driver> 
    <url>***</url> 
    <user>***</user> 
    <password>***</password> 
</database> 

ここでは、春のプロパティファイルであれば、それはすでにXMLでデータソース

database.driver=*** 

database1.url=*** 
database1.username=*** 
database1.password=*** 
+0

こんにちは、私は理解するための例を追加しました。 – Ikthiander

+0

これは、XMLファイルを読み込むライブラリに依存します。ファイル内のプレースホルダを置き換える(編集する)場合は、あとで読むことをお勧めします。 – sfussenegger

+0

依頼している内容はまだ分かりません。いくつかのサンプル 'xml'を提供していますが、プロパティファイルからデータをロードしたいのですか?データソースの関連性とは何ですか?あなたの問題について知らない人が実際にそれを理解できるように、あなたの質問を言い換えてください。 –

答えて

0

です。標準のJava XML解析ライブラリを使ってこれを読むことができます。 http://www.mkyong.com/tutorials/java-xml-tutorials/には、さまざまな方法でいくつかのトーナリーがあります。

+0

なぜSpringを使わずにSpringファイルを読み込む必要があるのか​​分かりませんが、可能です。 –

+0

実際にはjavaを使用して任意の解析を使いたいとは思っていませんが、XMLにプロパティファイルからデータを派生させることができれば、春のような方法があるかどうかを知りたかっただけです。 – Ikthiander

+2

よくSpringはJavaを使ってXMLを解析します:-) –

3

あなたはSpringを必要としません。あなたがしなければならないことは、getProperty()を使ってプロパティを抽出することです。例は次のとおりです。

File propertiesFile = ... 
    Properties properties = new Properties(); 
    FileInputStream fis = new FileInputStream(propertiesFile); 
    properties.load(fis); 

    String databaseDriver = properties.getProperty("database.driver"); 
    String database1Url = properties.getProperty("database1.url"); 
    String database1Username = properties.getProperty("database1.username"); 

(私は簡単のために例外を除外)

とあなたのXMLファイルを作成するために、XMLのためのJava APIを使用します。 XMLの作成方法の例は、次のとおりです。

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder documentBuilder = factory.newDocumentBuilder(); 
Document document = documentBuilder.newDocument(); 
Element rootElement = document.createElement("database"); 
document.appendChild(rootElement); 

... 

google "java create xml"または類似して、必要に応じてxmlを作成します。

0

春を使わずにプロパティファイルからxmlファイルにデータを読み込むことは可能ですか?はい、しかし、あなたはJavaコードの全体の束を記述する場合にのみに

  1. XMLを読んで、あなたが必要とする内容を抽出します。
  2. プロパティをロードする
  3. プロパティの詳細を詳細にマージします。

私はこの問題の一般的な解決策をSpring以外には認識していません。


は実は、私はあなたがどちらか正確この春を使用して行うことができますかわかりません。

スプリングDI配線には、完全なBeanプロパティ値(PropertyOverrideConfigurer)またはプロパティ値(PropertyPlaceholderConfigurer)に埋め込まれたプレースホルダを代入するメカニズムがあります。ただし、POCとPPCは、Spring Bean定義で宣言されたBeanプロパティの値に作用します。あなたの例であなたが持っているものは、Spring Beanの宣言ではなく、単純なXMLのように見えます。

+0

こんにちはスティーブン、あなたは私が春の設定でそのXMLを入れて、それを動作させることができる場合は教えていただけますか? – Ikthiander

+0

それが私の元々の問題だったのを見て、それをあなたのために打ち砕かせてください。 ha-jdbcにはxmlが必要で、ha-jdbcはxmlから情報を取得します。これでプロパティファイルに情報を格納する必要があります。これはxmlに引き込まれ、次にアプリケーションに引き込まれます。理にかなっている? – Ikthiander

関連する問題