亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看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

相關推薦

  • 浙江甌海:用好五個黨建信息化平臺 解決黨員管理五大不規范問題

    浙江省甌海區結合黨員組織關系集中排查工作,依托智能黨建信息化技術,以解決黨員管理實際問題為導向,科學謀劃,精準施策,加強頂層設計,搭建并用好五個黨建信息化平臺,進一步夯實黨員隊伍管…

    科研百科 2023年7月19日
    178
  • 科研項目取得的成果

    科研項目取得的成果 近年來,隨著科技的不斷發展,科研項目取得了許多令人矚目的成果。其中,一個引人注目的成果是人工智能的發展。人工智能已經成為了許多領域的重要工具,例如自然語言處理,…

    科研百科 2025年2月28日
    0
  • javaweb科研項目管理系統

    Javaweb科研項目管理系統 隨著科技的不斷進步,科研項目管理的需求也在不斷增加。在過去,手動記錄和整理項目信息的方式已經不能滿足現代項目管理人員的需求。因此,開發一種高效的科研…

    科研百科 2025年3月10日
    0
  • 如何創新黨建教育新模式?一起來看看吧(創新黨建教育方式)

    如今在“互聯網 ”快速發展的大背景下,超級隊長將VR技術應用于傳統黨建理論知識學習以及黨建工作中去,通過VR技術真實演繹再現了歷史場景,以震撼的效果傳達先輩精神,使我們身臨其境重溫…

    科研百科 2023年3月2日
    203
  • 系統項目管理表怎么做

    系統項目管理表是項目管理中非常重要的工具,可以幫助團隊更好地跟蹤項目進度,控制成本,協調資源,確保項目按時交付。本文將介紹系統項目管理表怎么做。 系統項目管理表通常包括以下幾個部分…

    科研百科 2025年1月20日
    0
  • 建筑工程進度管理總結

    建筑工程進度管理總結 建筑工程進度管理是確保建筑工程按時完成的關鍵。合理的進度管理可以幫助項目團隊更好地協調工作,減少工程延期的風險,提高項目的效率和質量。本文將對建筑工程進度管理…

    科研百科 2024年9月23日
    21
  • 常德協同辦公

    常德協同辦公: 讓城市更緊密團結 常德,位于湖南省東南部,是一座歷史悠久、文化底蘊深厚的城市。近年來,隨著信息技術的不斷發展,常德也在不斷探索著協同辦公的新模式。 常德協同辦公,是…

    科研百科 2024年11月22日
    2
  • 科研項目申報合同審查

    科研項目申報合同審查的重要性 科研項目申報合同審查是項目管理中至關重要的一環。合同審查不僅能夠確保項目的真實性和合法性,還能夠確保項目團隊的協作和溝通,確保項目的進度和質量。本文將…

    科研百科 2025年3月25日
    2
  • 科研項目成本指標

    科研項目成本指標是評估科研項目優劣的重要指標之一。合理的科研項目成本指標能夠幫助項目管理人員和研究人員更好地控制和評估科研項目的成本。本文將介紹科研項目成本指標的基本概念和計算方法…

    科研百科 2025年3月1日
    0
  • 科研項目溝通協調方案

    科研項目溝通協調方案 在科研項目的發展過程中,溝通協調是非常重要的一環。有效的溝通協調可以幫助項目團隊更好地協作,提高工作效率,并確保項目能夠按時、按質完成。因此,制定一份詳細的科…

    科研百科 2025年3月25日
    3