2014-11-03 49 views
0

如何在彈簧(數據)+ maven項目中設置簡單的嵌入式數據庫?彈簧簡單的嵌入式數據庫

我需要開發一個簡單的圖形應用程序,它可以讀取一些數據文件並以交互方式顯示它的相關信息。數據是非常重複的,有一點層次結構。但是我仍然不知道如何訪問它。

由於這些原因,我想將它存儲在數據庫中,以便以後可以使用數據庫查詢通過查詢過濾器訪問數據。 (開發一個持久層似乎也是一個好主意)

因爲它是一個小應用程序,我想使用內存中的 DB。

我對java(使用正確的開發框架)和數據庫很新。但是我使用spring,spring-data,JPA等工作了一個項目......我並不真正瞭解它是如何在內部工作的,並且不能設置它,但我發現它非常實用。

現在,我在互聯網上發現了很多關於這方面的文檔和教程,但我不明白如何使它們適應我的需要。什麼(我覺得)我要的是:

  • 使用Maven +彈簧
  • 春天數據(我猜)使用的實體,JpaRepository和自動裝配Autowired東西
  • 一個獨立的程序,因此,從應用開始。主要方法
  • 儘可能少且簡單的依賴關係儘可能
  • 嵌入式DB(+快速+光如果可能的話)
  • 泛型是好的

我填什麼用丟失是:

  • 我應該在哪裏放什麼屬性/ XML聲明
  • 如何都一起工作(彈簧,彈簧的數據,H2,HSQLDB依賴。 ..)

,我發現這個項目https://github.com/wrpinheiro/spring-jpa-embedded-db看起來適合,但是:

  • 有一些(我認爲太多的依賴)我不需要,因此不希望
  • 我不知道怎麼用它啓動程序
  • 我不明白的事情org.springframework.stereotype.Service
  • 也不javax.inject.Inject
+0

你可以看看http://db.apache.org/derby/ – 2014-11-04 09:36:27

+0

好的信息,但它似乎仍應該安裝在執行機器上(必須設置類路徑)。也許我不明白「嵌入」是什麼意思... – 2014-11-04 10:21:39

+0

我使用derby進行unitTesting。但你可能可以創建一個可運行的jar-with-dependencies,並嵌入derby。因此classpath在jar Manifest中聲明。 – 2014-11-04 10:37:06

回答

1

我認爲,如果你看一下這個項目,你可以開始建立你所需要的 http://spring.io/guides/gs/accessing-data-rest/#initial

它的行家(或gradle產出),已enbeded分貝,彈簧JPA和運行作爲啓動它自己的Tomcat服務器罐(你可以改變如果你願意的話,它會變成一場戰爭螞蟻)

你也可以使用這項服務(?)春天提供爲項目創建的出發構建: http://start.spring.io

你爲他們提供你想要的建立,然後將代碼和所需文件生成:d 整齊漂亮。

+0

有兩個問題:1)構建的jar是獨立運行的嗎? 2)是可以刪除「父」的依賴? – 2014-11-05 10:38:51

+0

start.sping.io非常酷,但我應該放什麼依賴/配置? – 2014-11-05 10:41:16

+0

我做了一些測試(需要刪除其餘的東西,似乎與Maven版本的一些問題),但它的工作。我仍然沒有嘗試生成罐子 – 2014-11-05 11:46:05