2014-12-01 38 views
0

我想找出在ClassPathXmlApplicationContext的構造函數中指定spring的XML文件的語法。通過語法我並不是指方法簽名,而是實際字符串用於在ClassPathXmlApplicationContext中指定spring xml文件的語法

例如以下三個工作。

ApplicationContext context = new ClassPathXmlApplicationContext("com/anshbansal/alarm/alarm.xml"); 
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:alarm.xml"); 
ApplicationContext context = new ClassPathXmlApplicationContext("alarm.xml"); 

我已經google了,並試圖通過Spring 3.1.0源代碼也通過。但是在org.springframework.core.env.AbstractPropertyResolver類的春天doResolvePlaceholders方法被卡住了。具體而言,我無法理解佔位符如何解決路徑問題。

任何人都可以分享什麼是字符串的語法來指定XML文件?

編輯

我指的是語法指定路徑的Spring XML文件中像在構造函數中。我不是指xml文件本身的語法。

+0

我怕別人不回答你的問題,因爲這個問題不明確。你真正需要什麼 - 語法來指定spring xml文件的路徑,或者你正在尋找spring xml配置文件(它的內容)的語法,也就是這個http://docs.spring.io/spring-framework/docs /current/spring-framework-reference/html/xsd-config.html? – 2014-12-01 20:32:56

+0

@MichalWilkowski更新問題後忘記了@你。 – 2014-12-09 16:50:28

回答

0

好的,我現在明白了這個問題:-)。 PropertyResolver只是用來把環境值(或屬性文件中的值)到明年春季的XML文件,即:

<context:property-placeholder location="file:///some/path/file.properties"/> 

,然後解決他們今年春天XML中,即:

<bean id="mailInviteMessage" class="org.springframework.mail.SimpleMailMessage"> 
    <property name="from" value="${mail.from}"/> 
    <property name="subject" value="${mail.subject}"/> 
</bean> 

把春天的XML標準約定(即beans.xml)中的類路徑和命名更爲可取。但是,您可以配置它把一個參數爲Java調用,即

java -Dmy.parameter=/path/to/beans.xml ... 

,然後手動加載它:

Context context = new FileSystemXmlApplicationContext(System.getProperty("my.parameter")); 
+0

我覺得還是有一些誤解。你會看看我給出的三個例子嗎?唯一的區別是作爲參數傳遞給構造函數的字符串。我想知道什麼是寫這個字符串的不同方法。也許它不是特定於春天,因此造成混亂。 – 2014-12-09 17:06:12

相關問題