2012-07-13 242 views
2

我正在構建一個Android應用程序,該應用程序將與在Java和Jersey中構建的Web服務交談。在Android應用程序和Jersey服務器應用程序之間共享類

我目前正在舉辦的三個項目:

  • 核心(通用)是我的域模型
  • 客戶端(安卓)一組簡單的POJO的是Android應用程序
  • 服務器(球衣)是一個Jersey應用程序,它在MongoDB中存儲數據並依靠Morphia庫進行持久化。

核心庫是其他兩個項目的依賴項。

問題是我已經在「核心」中創建了我的一組實體類,但是這些類是使用註釋爲Morphia配置的。 這意味着Morphia反過來會變成對我的Android應用程序的依賴,我並不特別喜歡它。

理想情況下,Morphia允許通過平面文件進行配置,但它只支持通過註釋來配置實體類。

我應該吸取依賴Morphia的'核心'的醜陋依賴嗎,還是有更好的方法來組織我的類,我沒有想到?

注:我已經嘗試從核心類中刪除Morphia註釋,並在繼承「核心」類並添加Morphia註釋的「服務器」項目中創建新類。但是,如果我的Jersey應用程序從服務器項目返回類,則Android客戶端不能將這些類與Jersey客戶端一起使用。

感謝

+0

我們正常的做法是使用json發送數據並在每一端序列化/反序列化json消息。 – yorkw 2012-07-13 03:21:52

回答

0

你可以從嗎啡轉換爲使用傑克遜註解,例如mongo-jackson-mapperbson4jackson另一個MongoDB的POJO映射。這樣你的Android項目就會依賴Jackson而不是Morphia。

1

我確實最終切換到了不同的POJO映射器。我決定和昆德拉一起去。這對我的核心項目中的javax-persistence只有一個依賴關係(對於JPA註釋)。

相關問題