天天看點

《Spring Data實戰》——1.4 示例代碼

本節書摘來自異步社群《spring data實戰》一書中的第1章,第1.4節,作者: 【美】mark pollack , oliver gierke , thomas risberg , jon brisbin , michael hunger著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

本書的示例代碼可從github上擷取。它是一個maven項目,包含每一章的子產品。另外,還需要在電腦中安裝maven 3或者一個能導入maven項目的ide,比如spring tool suite(sts)。從下面的操作中可以看到,取得示例代碼就如同複制版本庫一樣簡單:

《Spring Data實戰》——1.4 示例代碼

現在可以在指令行中執行maven來建構代碼:

《Spring Data實戰》——1.4 示例代碼

這樣maven會解析依賴、編譯和測試代碼,執行測試,最終打包子產品。

1.4.1 将源碼導入到ide

sts/eclipse

由于sts已經配備了m2eclipse插件,是以可以在ide中輕松使用maven項目。如果已經下載下傳并安裝(詳情請見第3章)了sts,即可從file菜單選擇import選項,并在彈出的對話框中選擇existing maven projects,如圖1-2所示。

《Spring Data實戰》——1.4 示例代碼

圖1-2 導入maven項目到eclipse(步驟1/2)

在下一個視窗中,單擊browse按鈕來選擇剛剛簽出的示例項目的檔案夾。之後,在正下方的窗格中會列出并選中各個maven子產品(如圖1-3所示)。單擊finish按鈕進行下一步,sts會将選中的maven子產品導入到工作區。它将依照子產品根目錄下的pom.xml檔案來解析所需的依賴和源檔案夾。

《Spring Data實戰》——1.4 示例代碼

圖1-3 将maven項目導入到eclispe(步驟2/2)

最終會看到如圖1-4所示的包或者項目資料總管。這時項目應能成功編譯并且不包含紅色錯誤标記。

《Spring Data實戰》——1.4 示例代碼

圖1-4 完成導入的eclipse project explorer

使用了querydsl(詳見第5章)的項目可能會引發紅色的錯誤标記。原因是m2eclipse插件需要知道:在ide建構的生命周期中,哪個階段執行querydsl關聯的maven插件。可以從m2e-querydsl擴充更新站點來安裝這個插件,也可以在項目首頁上找最新的版本<code>(https://github.com/ilx/m2e-querydsl)</code>,複制最新版本的連結,并将它添加到可用的更新站點的清單中,如圖1-5所示。然後安裝在更新網站上釋出了的功能,重新啟動eclipse,并更新maven項目配置(在項目中單擊滑鼠右鍵,從彈出的快捷菜單中選擇maven→update project),這樣就能去除eclipse中的錯誤标記,并且成功地完成項目的編譯。

《Spring Data實戰》——1.4 示例代碼

圖1-5 增加m2e-querydsl更新網站

intellij idea

idea可以直接打開maven項目而不需要其他額外的設定。選擇菜單中的open project選項之後會彈出對話框(如圖1-6所示)。

《Spring Data實戰》——1.4 示例代碼

圖1-6 将maven項目導入到idea(步驟1/2)

ide會打開項目并擷取所需的依賴。在下一個步驟(如圖1-7所示),它會探測已使用的架構(如spring架構、jpa、webapp等);可以使用彈出視窗的配置連結或者在事件日志中配置這些架構。

《Spring Data實戰》——1.4 示例代碼

圖1-7 将maven項目導入到idea(步驟2/2)

這樣項目就可以使用了。此時可以看到“project”視圖和“maven project”視圖,如圖1-8所示。然後便可以像往常一樣編譯項目了。

《Spring Data實戰》——1.4 示例代碼

圖1-8 打開spring data book項目的idea

接下來,必須加入spring data jpa子產品的jpa支援以啟用finder方法以及版本庫的錯誤檢查功能。隻需要右鍵單擊該子產品并選擇“add framework support”項,在彈出的對話框中勾選javaee持久化的支援并且選擇hibernate提供的持久化支援,如圖1-9所示。接着它會生成一個持久化單元配置src/main/java/resources/meta-inf/persistence.xml檔案。

《Spring Data實戰》——1.4 示例代碼

圖1-9 在spring data jpa子產品啟用jpa支援

繼續閱讀