2012-10-13 46 views
2

我可以在Eclipse中運行JUnit測試,儘管它沒有main()方法。儘管它沒有任何代碼,我仍然可以運行Ant xml。我可以在沒有在Eclipse中編寫任何代碼的情況下「運行」spring上下文嗎?

我可以用同樣的方式運行Spring上下文嗎?

我可以指示Eclipse在春天的XML「runing」中快速運行下面的程序嗎?

public class Runner { 
    public static void main(String[] args) { 
     new ClassPathXmlApplicationContext("/springtests/test04.xml"); 
    } 
} 

UPDATE

這個問題是關於舒適性。我正在爲彈簧配置寫很多測試。對於每個測試,我正在編寫JUnit測試或類似上面的跑步者類。所以我想盡量減少工作量:能夠使用彈簧配置右鍵單擊XML文件並「運行」它。通過「運行」,我不是指將XML加載到內存中並將CPU控制傳遞給它。

更新1

好吧,我創建SpringRunner類在我的項目用下面的代碼

public class SpringRunner { 
public static void main(String[] args) { 
    new FileSystemXmlApplicationContext(args[0]); 
} 
} 

接下來創建一個名爲SpringRunner運行/調試配置,這CALSS作爲主類,並設置

${resource_loc} 

在程序參數部分。

這樣我可以在 「運行」 點幾下任何Spring配置:

1)右擊XML文件

2)選擇 「運行/調試爲...」

3)選擇 「運行/調試配置...」

4)選擇 「SpringRunner」

5)點擊 「運行/調試」

現在的問題是如果有可能縮短這個更多?如何讓Eclipse立即將此選項顯示在任何XML文件或任何文件上,立即右鍵單擊並「運行/調試爲」?

+0

你不*運行* XML,你*進程* XML。 –

+0

你不會運行任何東西,然後處理它。而計算機的核心被稱爲「處理器」,但不是「跑步者」....我的問題不是關於術語...... –

+0

如果你認爲術語不重要,那麼存在一個問題:Spring配置文件就是這樣;組態。如果你不願意接受任何建議,互聯網將是一個令人恐懼,令人沮喪的地方。 –

回答

0

不,即使使用JUnit也無法完成....當你運行JUnit時,它內部有一些具有main方法的util類,這個方法通過反射來運行你的junit類。

只要記住,沒有辦法在Java中,你可以運行任何代碼沒有主要方法。

class A{ 
     static{ 
       System.out.print("where is main"); 
     } 

} 

此代碼在類加載到jvm時有效,這可能是我上面的單詞的例外,但一般的答案是否定的。

快速問題爲什麼你需要運行沒有主要的彈簧? 如果你認爲junit是沒有main方法的runnig(實際上它有),那麼使用像tomcat這樣的應用程序容器,你不必聲明任何主要方法,它運行你的代碼,你的彈簧或任何你想要的。

相關問題