0

これは大学のプロジェクト用です。Spring PropertyPlaceholderConfigurer を使用して、プロパティ ファイルから値を取得しています。次のコードを使用して、GUI からプロパティ ファイルを更新しています。

Properties prop = new Properties();
FileOutputStream out = null;
out = new FileOutputStream("pro.properties");
prop.setProperty("durationpro", "wk");
prop.store(out, null);
out.flush();
out.close();

更新されたファイルを機能させるために 2 つの方法を試しました: http://www.wuenschenswert.net/wunschdenken/archives/127 ファイルの更新直後にコンテキスト アプリケーションを更新しようとしました

ApplicationContext f = new FileSystemXmlApplicationContext("Bean1.xml");
((ConfigurableApplicationContext)f).refresh();

私のコード

ApplicationContext context = new ClassPathXmlApplicationContext("Bean1.xml");
BeanFactory factory = (BeanFactory) context;
TestGUI t = (TestGUI) factory.getBean("testbean"); 

アプリケーションの実行中に (アプリケーションを閉じる必要はありません)、プロパティ ファイルを手動で開いて閉じる必要があり、変更が認識されます。これは両方の方法で発生します

春の更新方法に使用しているxmlファイルは次のとおりです。

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


<bean id="propertyPlaceholderConfigurer"   
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  <property name="locations">  
    <list>  
      <value>classpath:pro.properties</value>  
    </list>  
  </property>  
</bean>   

<bean id="com" class="Domestic" /> 

<bean id="wk" class="Week" />

<bean id="mth" class="Month" />

<bean id="testbean" class="TestGUI"> 

  <property name="customerType" ref="com" /> 
  <property name="duration" ref="${durationpro}"/> 

</bean>

</beans>

他の Wunschdenken メソッド用に xml ファイルを正確にコピーしました

助けてくれてありがとう

4

1 に答える 1

0

気にしないでください-ソースフォルダーにプロパティファイルがあり、それを移動して http://commons.apache.org/configuration/を実装しましたが、すべて正常に動作します

于 2013-01-22T11:39:27.817 に答える