2013-01-21 351 views
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(); 

我已經使用兩種方法來獲取更新的文件工作的嘗試: 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> 

我正好複製了XML文件的其他Wunschdenken方法

感謝您的幫助

+0

你的追求是什麼? –

+0

我想讓xml文件識別屬性文件已更改並重新加載新屬性名稱持續時間 –

回答