亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

Axelor 框架 Java 開發演示視頻文字稿(java aop框架)

TL;DR;

為大家介紹一個能大大提高 Java 開發管理系統效率的框架 Axelor。通過開發一個簡單的訂單管理系統進行實際開發的演示。內容適合具有一定開發經驗的業務系統開發者觀看,請初學者自酌。

演示源代碼 GitHub: https://github.com/oldrev/ep009-axelor-sales-demo

如平臺限制看不到鏈接,可以私信索取。

前言

有哪個增刪改查男孩兒(CRUD Boy)不想把開發效率提高十倍呢?

開發業務管理信息系統也許是軟件行業里最無聊的工作,特別是用Java。

Java本身是一門非常啰嗦的語言,卻有著業界最多的使用人數,還有最多的庫、文檔和資料,換句話說也就是說 Java 擁有最大的生態系統。

作為一個隨大流的 Java 后端程序員你有沒有想過,一個嚴格使用著名的Spring框架開發的傳統三層架構系統, 要想開發新功能是非常麻煩的。

假如要給系統增加一個表,你需要:

  1. 定義領域模型實體的代碼
  2. 再編寫一個和領域模型幾乎一摸一樣的DTO,也就是數據傳輸對象。
  3. ORM 框架,比如 Hibernate的映射配置
  4. 數據訪問層各個 Repository 的接口和實現
  5. 業務邏輯層的接口和實現
  6. 展現層MVC的開發

還有前端,或者說客戶端,各種 HTML/CSS/JS 開發。一般來說,一個UI體驗良好的單頁應用,前端代碼有可能比后端的代碼還要多。

尤其是如果需要開發手機App和微信小程序的話,一些業務邏輯層的接口還得包裝成Web API。

那有沒有辦法能把以上的工作自動化一些呢?有的聰明人想到了用代碼生成代碼的操作,這里就介紹下我們的主角——自帶代碼生成器的Java業務管理系統開發框架 Axelor。

Axelor簡介

Axelor 是法國同名公司開發的開源ERP管理系統和開發平臺,由三個部分組成:

  1. ADK(Axelor Development Kit):一個模塊化 Java Web 數據庫應用快速開發框架
  2. ABS(Axelor Business Suite):基于 ADK 開發的 ERP 套裝模塊
  3. APS(Axelor Process Studio):Axelor 的業務流程套件模塊

為了達到快速開發管理系統的目的,我們選用ADK作為我們開發的基礎框架。Axelor 平臺的技術架構是這樣的:整個框架使用Google Guice 作為依賴注入框架把整體連接起來,其他部分與Spring 開發的 Java Web 應用沒有太大的區別。

Axelor 的關鍵特性有下面幾個:

  • 內置的基礎模塊已具備數據導入導出、定時任務、權限管理等常用功能
  • 編譯時代碼生成器省去大量樣板代碼
  • 除Java以外可以使用 Kotlin、Scala和Groovy開發
  • 純模塊化設計,模塊可以安裝、卸載
  • 前端免開發,真正手機可用的響應式設計
  • 全自動數據庫版本遷移
  • 多數據支持:PostgreSQL、MySQL、Oracle(5.0)
  • Axelor 是同名公司的唯一主打產品,不會出現類似某些企業為 KPI 開源最后棄坑的情況
  • 多租戶、多語種多貨幣等等各種高級功能

下面是我總結的 Axelor 平臺設計哲學。

回到根本的問題上來,為什么 Axelor 平臺開發速度快?因為開發工作量小。為什么開發工作量小?因為Axelor 后端提供了強力的代碼生成器,前端則有無需編寫 HTML、JavaScript和CSS 的UI框架,讓你只需要專注編寫業務相關代碼。

接下來通過實現一個簡單的虛構銷售訂單管理系統項目帶大家一起實際體驗一下 Axelor 的開發。

項目準備

根據功能需求我們設計了四個表:客戶表、商品表、訂單表和訂單明細表。

Axelor 框架 Java 開發演示視頻文字稿(java aop框架)

Figure 001

實際開發之前我們需要準備下Axelor的開發測試環境,必備的有:

  1. Java8 JDK;
  2. gradle 構建工具
  3. 數據庫環境,這里我們用 PostgreSQL
  4. 還有Java 的IDE或者文本編輯器,本次用 IDEA演示,不使用IDE用命令行編譯都是可以的。

這張圖展示的是我們的訂單系統作為一個Axelor項目的目錄結構。

新建項目

進入實際開發的第一步,首先啟動IDEA,創建一個基于 Gradle的項目,填寫項目名稱、路徑這些參數。

接著創建Gradle工具的項目“build.gradle”文件,內容的話除了應用的名稱、標題和子模塊這些,其他基本都是固定的。

接下來創建“settings.gradle”文件,里面列出了主項目的名稱和包含子模塊的目錄。

打開命令行輸入 gradle build 命令可以測試一下目前的空項目配置是否有問題。

準備數據庫

下面來準備數據庫,打開數據庫客戶端工具,創建一個數據庫角色,角色名稱和密碼都設置為“mingming”。開發階段為了方便,直接作為超級用戶。

然后創建一個“ming-sales-demo”的數據庫,所有者設置為剛才建立的“mingming”角色。

第六幕:項目的各種配置文件

在主項目的“resources”目錄里新建一個應用的配置文件 “application.properties”,根據你的數據庫環境來配置下文件里的數據庫連接參數。

新建一個Hibernate 的配置文件“persistence.xml”,這個文件是固定內容,復制進來就可以了。

這里我們再新建一個“modules”目錄來放各個模塊,下面創建一個“sales”目錄來容納銷售管理模塊的源代碼。“sales”模塊作為子項目,也需要一個簡單的build.gradle 文件。

添加一個表(實體)

到這里,我們就可以進行實際的模塊代碼開發了。首先新建 src/main/resources/domains 和 views 這一套路徑。然后在 domains 目錄里新建一個 Entities.xml 文件。Axelor 對目錄名稱有約定,但文件名是可以任意的。

先把固定的domain-models元素粘貼進來,然后增加一個 module 元素設置一下包名。

接下來增加一個商品信息表的實體定義。

打開命令行,執行“gradle generateCode”命令,完成以后在模塊的 build 目錄里,可以找到 Axelor 幫我們生成的 Product.java 實體類,可以打開看一下,我們幾行 XML 定義就產生了上百行的代碼。

執行命令:

$gradle run

系統將自動生成、編譯代碼,自動遷移數據庫結構,最后啟動調試用的內置Tomcat服務器。

瀏覽器打開命令行提示的鏈接,就可以看到登錄界面了。

輸入默認的用戶名密碼“admin”就可以登錄進入后臺管理界面了。

點擊進入Axelor平臺里的模型管理功能里看到我們新建的商品實體。

同時,在數據庫管理工具里也可以看到系統自動幫我們建好了表,同時還增加了創建時間、修改時間之類的固定字段。

添加界面(視圖)

我們先定義菜單,在 views 目錄里新建一個Menu.xml文件,這里大概講解一下文件的結構:

menuitem 元素表示菜單項,這里先定義了一個頂層菜單叫做“銷售管理”,然后有一個具體的“商品管理”的菜單項。

商品管理菜單關聯到打開視圖的動作,有兩個視圖,一個是列表的網格,一個是表單。

菜單定義好了,再新建一個叫做 Product.xml 的視圖布局文件,在里面定義列表網格和表單的界面視圖布局。Axelor的視圖用 XML 布局然后前端的代碼會自動渲染成具體的界面控件并負責和后端通訊。

完了重新啟動程序,進入視圖管理功能重新加載視圖,然后刷新頁面就可以看到我們開發的界面了。

同樣的操作,把剩下三個表的實體定義和界面都添加進來,重啟程序加載視圖,就可以得到這樣的界面了。

這里點擊表單界面的兩個按鈕或者修改明細數量會報錯,接下來我們就來處理前端界面和后端服務的交互問題。

前端和后端交互

在模塊的源代碼目錄 src 里新建 java/com/mingming/sales 這個路徑。然后再在里面新建 service 目錄用來放業務邏輯層代碼,再新建一個 web 目錄來放 MVC 控制器代碼。

業務邏輯層新建一個 OrderService 的接口,里面添加計算總金額、修改訂單狀態的幾個方法聲明。

然后通過 OrderServiceImpl 的類實現具體的業務方法。

最后增加 OrderController 控制器用于提供 JSON API 的接口和前端進行數據交換。

重新啟動程序,發現報錯了,這里可以看到業務邏輯層我們注入了數據訪問層的 OrderRepository 進來,所以新建一個 db/repo 路徑,然后實現這個 Repository。

由于我們增加了業務邏輯層的接口和類,需要創建一個簡單的 Axelor模塊定義類來把它們注冊到系統里。

重啟登錄,進入銷售訂單的表單界面,編輯明細數量可以看到訂單總金額可以自動計算了,點擊確認訂單按鈕也可以轉換訂單狀態了。

打開瀏覽器的開發者工具我們就可以看到Axelor的前后端是完全通過 JSON格式的請求來交互的,Axelor文檔也有說明,自己用其他語言封裝一個客戶端也是很容易的事情。

可以用手機瀏覽器打開 Axelor頁面看看效果,這個就作為課后練習題了。

修改登錄界面

最后,來一個福利:從 Axelor 源代碼里把 login.jsp 復制到我們的應用里,系統會自動用這個我們項目里的文件替換Axelor內置的同名文件。

我們這里修改一下login.jsp給登錄界面加上背景圖片。

結語

到這里我們的四個表的增刪改查功能就做好了。

這里為了演示的簡單,我沒有涉及更多的常用功能,比如權限控制、種子數據導入之類的。

覺得有用的話可以點贊評論,如果感興趣的人多,我可以把它展開成完整的Axelor開發視頻課程。

項目源代碼可以在視頻下方描述里找到 GitHub 鏈接,如果看不到的話,可以私信我。

咱們下次見。

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2024年5月1日 下午12:26
下一篇 2024年5月1日 下午12:38

相關推薦

  • 縱向科研經費和橫向科研經費(縱向科研經費管理辦法)

    縱向科研經費管理辦法縱向科研經費管理辦法是國內外國內中小學校的經驗匯報,也是研究學校成果的最佳平臺。首先是改革經費管理措施的開放。學生經費在日常的教學、學習、生活等方面均發揮著重要…

    科研百科 2024年7月30日
    29
  • 工程項目檔案管理分類方案

    工程項目檔案管理分類方案 工程項目檔案管理是工程項目管理中至關重要的一部分,它的目的是確保工程項目的檔案管理符合法規要求,并能夠支持項目決策和項目管理。本文將介紹一種工程項目檔案管…

    科研百科 2024年8月19日
    34
  • 進度管理規劃進度管理

    進度管理規劃進度管理 進度管理規劃是組織管理中至關重要的一部分,能夠幫助組織實現其目標和計劃。在進度管理中,我們需要制定計劃,跟蹤進度,并確保計劃能夠按時完成。 制定計劃是進度管理…

    科研百科 2024年9月27日
    20
  • 央企快步進行司庫資金管理,你落后了幾步?(司庫與資金管理)

    “喜茶告別30元”沖上微博熱搜。據悉,喜茶宣布今年內將不再推出29元及以上的飲品,所有飲品在今年內也絕不漲價。過去幾年,這家新晉奶茶之王,通過不斷拓展門店,已經成為奶茶賽道當之無愧…

    2022年6月26日
    576
  • PMP項目管理 第8章 項目質量管理 思維導圖(項目質量管理的八大原則)

    項目質量管理包括把組織的質量政策應用于規劃、管理、控制項目和產品質量要求,以滿足相關方目標的各個過程。質量管理的相關工具是重點。 項目質量管理知識點總結 1. 帕累拖圖:特殊的直方…

    科研百科 2023年8月8日
    83
  • 雙創大賽屬于科研項目嗎

    雙創大賽屬于科研項目嗎? 雙創大賽是近年來越來越受到關注的一個比賽,它鼓勵大學生和研究生們通過創新的方式展示自己的才華和技能。雖然雙創大賽本身不是科研項目,但它可以作為一個科研項目…

    科研百科 2025年5月5日
    1
  • 建設工程項目管理系統軟件

    建設工程項目管理系統軟件 隨著現代建筑行業的不斷發展,建設工程項目管理系統軟件成為了項目管理中不可或缺的一部分。建設工程項目管理系統軟件可以幫助建筑企業更好地管理項目,提高生產效率…

    科研百科 2024年8月19日
    25
  • 慕柏案例—上海寶冶集團北京分公司智慧工地系統

    眾所周知,建筑工地一直都是一個安全事故多發的場所,目前,隨著國內工程建設規模不斷擴大,工藝流程紛繁復雜,如何完善現場施工現場管理,控制事故發生頻率,保障文明施工一直是施工企業政府管…

    2022年9月13日
    138
  • 計劃內科研項目

    計劃內科研項目: 探索人工智能在醫療領域的應用 隨著人工智能技術的不斷發展,醫療領域也開始嘗試應用人工智能技術。其中,計劃內科研項目“探索人工智能在醫療領域的應用”旨在研究人工智能…

    科研百科 2025年3月28日
    1
  • 南京大學 科研項目 管理辦法

    南京大學科研項目管理辦法 為規范南京大學科研項目管理,提高科研項目的質量和效率,南京大學制定了《南京大學科研項目管理辦法》。該辦法自2016年1月1日起施行。 一、科研項目的范圍 …

    科研百科 2024年11月13日
    5