「Java開發指南」如何利用MyEclipse啓用Spring DSL?(二)

本教程將引導您通過啓用Spring DSL和使用Service Spring DSL抽象來引導Spring和Spring代碼生成項目,本教程中學習的技能也可以很容易地應用於其他抽象。在本教程中,您將學習如何:

  • 爲Spring DSL初始化一個項目
  • 創建一個模型包
  • 創建一個服務和操作
  • 實現一個服務方法
  • 啓用JAX-WS和DWR

在上文中(點擊這裏回顧>>),我們爲大家介紹瞭如何初始化項目、檢查輸出等,本文將繼續介紹如何創建一個Model包、創建服務和操作等。持續關注我們,獲取更多MyEclipse中文教程哦~

三、創建一個模型包

模型包用於名稱間隔和對相關的Spring DSL組件進行分組,模型包直接與Java包相關,並且在模型包中創建的Spring DSL構件被生成爲匹配的Java包。在創建服務之前,您需要創建一個模型包。

1. 右鍵單擊Spring DSL文件夾,然後選擇New>Model Package。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
添加模型包

2. 輸入org.acme.services作爲新模型包的名稱,然後單擊Finish,新的模型包被添加到Spring DSL視圖中。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
新模型包

四、創建一個服務和操作

服務用於定義服務層組件和管理相關文件,服務被生成到多個Java文件中,主要的Java文件是一個帶@Service註釋的Spring組件,這是服務層組件的專用構造型。操作是爲服務定義方法的Spring DSL構件,它們是Java方法的Spring DSL表示。操作使用輸入和輸出來交換數據,它們直接作爲方法生成到各自的類中。

1. 右鍵單擊org.acme.service模型包,然後選擇New>Service。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
添加服務

2. 輸入MyService作爲新服務的名稱,然後單擊Finish,新的Service被添加到Spring DSL視圖中。

3. 雙擊Service來在編輯器中打開。

Service編輯器用於配置Spring DSL服務的特定實例,在編輯器的底部有各種選項卡,用於配置服務的不同方面。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
服務編輯器

4. 右鍵單擊MyService,然後選擇New>Operation。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
向服務添加操作

5. 輸入doSomething作爲新操作的名稱,然後單擊Finish。新的Operation被添加到Spring DSL視圖中,Operation編輯器將自動打開來配置該操作,Operation編輯器提供特定於操作的配置選項。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
操作編輯器

五、審查生成的代碼

如果單擊Spring DSL視圖中的服務,則生成視圖將顯示爲您生成的文件。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
生成視圖

默認情況下,Spring DSL服務生成一個服務接口、一個服務實現類(用Spring @Service註釋)和一個JUnit測試類。從Spring DSL工件生成的所有Java工件都在generated視圖中列出,雙擊生成視圖中的Java工件,在編輯器中打開Java文件。

注意:生成視圖是MyEclipse中支持Spring的視圖,默認情況下包含在MyEclipse Spring透視圖中。如果您正在使用不同的透視圖,那麼可能需要將生成視圖添加到您的工作區中。

如前所述,每個服務(DSL)生成一個服務實現類、一個服務接口和一個服務JUnit測試類。

Spring框架支持@Service註釋,它是服務層組件的專用構造型。服務實現類是用Java包名(基於模型包)、所有相關的Spring導入語句、所有相關的Spring註釋(包括@Serviceannotation)和爲服務創建的每個操作的Java方法生成的。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
MyServiceImpl.java – 服務實現類

注意,doSomething() Java方法沒有實現,這就是實現所需功能的地方。MyEclipse已經創建了包含所有必需的Java和Spring配置的框架代碼,但是實現代碼是您的責任。您知道希望服務方法做什麼,並且可以直接在Java代碼中實現該方法。

下面是生成的服務接口,當您向服務添加新操作時,服務接口將自動更新,這樣就少了一件需要擔心的事。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
MyService.java – service 接口

下面是生成的JUnit測試類,它是用所有必需的JUnit和Spring樣板代碼生成的,您要做的唯一事情就是實現服務測試。當新的操作被添加到服務中時,新的測試方法被自動添加到測試類中。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
MyService.java – service JUnit類

注意:如果您查看爲scaffolded應用程序生成的服務操作,會注意到它們已完全實現。另一方面,當使用Spring編輯器創建新的服務操作時,會生成Java方法,但不會生成Java方法體,這是scaffolding和Spring編輯器功能之間的根本區別。

六、實現服務方法

您已經準備好實現服務方法了,這裏沒什麼特別的,只需編寫生成的服務方法的實現代碼。

打開MyServiceImpl.java文件,並向服務方法添加一些代碼。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
服務方法代碼

七、啓用JAX-WS

默認情況下,服務不支持web服務調用,JAXWS Web Service選項卡用於配置服務的Web服務選項。

1. 通過雙擊Spring DSL視圖中的MyService構件,打開MyService的Service編輯器。

2. 切換到JAXWS Web Service選項卡,選擇MyService Web服務,然後選擇Publish Web Service選項,這將服務公開爲JAX-WS web服務。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
JAX-WS配置

3. 保存文件。

在部署應用程序時,該服務可作爲JAX-WS SOAP web服務使用。如果單擊Spring DSL視圖中的服務,則生成視圖將顯示爲您生成的另外兩個與JAX-WS相關的文件。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
生成視圖

八、啓用DWR

默認情況下,服務不支持JavaScript/JSON調用,DWR選項卡用於配置服務的DWR選項。

1. 通過雙擊Spring DSL視圖中的MyService構件,打開MyService的Service編輯器。

2. 切換到DWR選項卡,選擇MyService,然後選擇Publish選項,這將通過使用DWR的JavaScript/JSON公開服務。

「Java開發指南」MyEclipse如何支持Spring Scaffolding?
DWR配置

3. 保存文件。

該應用程序已配置爲使此服務可用於JavaScript/JSON客戶端(即AJAX應用程序)。

注意:由於依賴Java庫的庫版本不匹配導致DWR運行時問題,請參閱MyEclipse for Spring論壇,瞭解一個非常簡單的解決方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章