2011-12-17 68 views
1

我servlet.xml文件保存所有有關我的spring配置數據源一樣豆等信息擴展Spring的配置保存自定義XML設置

<bean id="..." class="..."> 
</bean> 

現在我的應用程序,我需要在配置文件中保存的其他設置,有可能在這裏創建我自己的設置,或者有更好的方法嗎?

我想加載一次,並在我的項目中引用速度非常快。

我需要它來存儲一些文件路徑和其他數據庫設置喜歡的事情的MongoDB等

回答

2

您可以使用.properties文件:

<context:property-placeholder location="file:///my/cfg.properties"/> 

如果文件內容是:

driver=com.mysql.jdbc.Driver 
dbname=mysql:mydb 
mysetting=42 

您可以參考他們在Spring XML這樣的:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
<property name="driverClassName"><value>${driver}</value></property> 
<property name="url"><value>jdbc:${dbname}</value></property> 
</bean> 

參考:4.8.2.1 Example: the PropertyPlaceholderConfigurer

您也可以注入這些屬性到自己的類:

@Service 
public class MyService { 
    @Value("${mysetting}") 
    private int mysetting; //Spring will inject '42' on bean creation 

    //... 
} 

當然你也可以在這個例子中,如果你喜歡XML使用setter方法的注射像DriverManagerDataSource中。

也看看:Spring 3.1 M1: Unified Property Management

+0

我想引用我的代碼中的值,而不是xml。 – Blankman 2011-12-17 20:25:50

+1

所以我不太明白你的問題。我更新了我的答案('MyService'示例),它更接近你想要達到的目標嗎? – 2011-12-17 20:32:07

+0

是的,這是我想要的,所以我把這個.properties文件放在哪裏?我可以有多個,因爲你似乎沒有引用任何名稱?像db.properties或myconfig.properties? – Blankman 2011-12-17 23:15:37