2012-08-28 78 views
1

你好傢伙我在Web開發方面很新,而且我在這裏遇到了一個問題。我想讓我的java程序使用Jdbs連接器連接到數據庫,但不是硬編碼數據庫變量,而是希望程序讀取值存儲在bean中的xml文件。該行我想讀取存儲在applicationContext.xml文件如下:從xml bean提取屬性到java

<bean id="ObjectMapperFactory" scope="singleton" class="someClass"/> 
<bean id="UgcDataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property> 
<property name="username"><someUser</value></property> 
<property name="password"><somePassword</value></property> 
<property name="url"><value>jdbc:mysql://localhost:3306/dbName?autoReconnect=true</value></property> 
<property name="defaultAutoCommit"><value>false</value></property> 
<property name="maxActive"><value>20</value></property> 
<property name="maxIdle"><value>3</value></property> 
</bean> 

而且看完後我想這些變量存儲在字符串作爲這樣的:

String url = "jdbc:mysql://localhost:3306/dbName" 
String username = "someUser" 
String password = "somePassword" 

所以我尋找是一種方法來提取這3個值,有什麼建議嗎?非常感激!

+0

爲什麼不使用的數據源?而且,即使你不使用p:name空間,它也比它所需要的要冗長得多。 –

+0

謝謝你這麼快回復先生,但請你澄清一下,因爲這對我來說目前是相當令人難以置信的。 – Mantas

+1

好吧,讓我們退一步:爲什麼要在Java代碼中使用這些字符串? –

回答

2

使用Spring,你可以使用@Value註釋,像這樣

@Value("#{UgcDataSource.url}") 
private String url; 
+0

練習謝謝你,我設法找到我一直在尋找做一些研究答案在@Value上 – Mantas