亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Vaadin JavaEE 是否可以逐步遷移到 Vaadin Spring?

Vaadin JavaEE 是否可以逐步遷移到 Vaadin Spring?

函數式編程 2022-06-23 17:49:54
我們有一個現有的 Vaadin 8 JavaEE web 應用程序,它從門票儀表板演示中進行了改編和大量修改。我們正在計劃將應用程序遷移到使用 Spring(非啟動)并在下一個版本中采用 MVC 模型的時間表。然而,在閱讀了 Vaadin Spring 文檔并比較了當前應用程序、示例面包店應用程序(spring,使用 Framework 8)和使用 Hibernate 4 和 Spring 4 的舊項目之間的源代碼之后,我們仍然有幾個關鍵問題:需要幫助改進我們的遷移方法:在某些功能首先遷移到 Spring 之后在后續的次要版本中遷移其他功能的情況下,是否可以逐步遷移?如果是,在進入較小的版本之前,我應該首先修改/適應哪些類(除了下面的類)到 Spring?我們已經確定 75% 的應用程序使用復雜的本機選擇查詢,其中 25% 使用 CRUD 操作。我們仍然堅持使用 Hibernate,因為大多數開發團隊都熟悉它。堅持使用 DAO 泛型方法(封裝實現,例如https://www.baeldung.com/simplifying-the-data-access-layer-with-spring-and-java-generics)還是只使用在面包師應用程序中看到的 JPARepository 接口?我們正在使用 TomEE Plume(相當于 Tomcat 的 8.5 版本)將應用程序部署到 Azure 云中作為初始部署。是否應包含任何特殊設置以適應該部署?我們之前在 Vaadin 論壇中就逐步遷移提出了這個問題,但沒有任何回復:https ://vaadin.com/forum/thread/17468362/17468363在計劃的遷移活動之后,我們的直接目標是:使其模塊化并更容易合并后續功能,例如動態數據路由、斷路器/重新路由、電子郵件通知、國際化、在生產級別將可管理實例的數量保持在 5-10 等。在接下來的幾年內,無需從頭開始重寫所有內容,例如(Java 8 到 Java 11,Framework 8 到 Vaadin 12),保持升級的道路暢通。如上所述,這是在 Azure Cloud 上運行,帶有 MSSQL 數據庫和 TomEE Plume 容器。我們做了一些初步的代碼修改,包括:修改主 pom.xml 并包含更好的 maven 分析(使用https://www.mkyong.com/maven/maven-profiles-example/作為參考)將休眠和彈簧設置移至 application.properties 文件添加了application-context.xml,重新劃分為application-context-dao.xml和application-context-service.xml,便于管理。首先,在遷移的第一周后,我們預計應用程序仍然是 90% 的 JavaEE,并且一兩個功能將在 Spring 中。在每周更新之后,現有功能的數量將轉移到使用 Spring 直到它被完全合并。
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

這種遷移是可能的。您有多個問題,我將只回答其中兩個。

  1. 可以逐步遷移嗎? 是的,這是可能的,您可以首先將其集中在底層——如果是復雜的單體,您的 DAO 和存儲庫?;蛘吣梢試L試將您的應用程序分割成小的邏輯單元并嘗試遷移這些單元。此類切片的示例是,如果我們有電子商務網站一項計算商品價格的服務。它是一個定義明確的服務,可以很容易地被隔離。這樣做還可以讓您更好地了解您希望如何模塊化應用程序。有時,盡管這種方法對于大型單體應用來說可能太難了,因為代碼只是為了 sphagetti。

  2. Spring Data 現有 Daos 的使用和遷移。您不必使用 spring-data。擁有 DAOS 或手動編寫的存儲庫非常好。在我看來,無需付出額外的努力,也無需為此類遷移做額外的工作。

IMO 您在遷移過程中的主要目標應該是進行明智的模塊化并將單體應用拆分為邏輯單元。我不是在談論單獨的可部署和微服務,沒有必要走這么遠。但從邏輯上拆分它可能會為您提供遷移地圖。


查看完整回答
反對 回復 2022-06-23
  • 1 回答
  • 0 關注
  • 96 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號