trunk-logo-white

最新消息

用 LightAdmin 快速產出優雅且完整的 CRUD 後台

Share This Post

分享在 facebook
分享在 linkedin
分享在 twitter
分享在 email

light-admin-logo

今天想跟各位分享如何透過 LightAdmin「快速建構」出一個具 CRUD 功能的資料管理平台。

本文將簡單示範 LightAdmin 的功能,目的是讓大家對 LightAdmin 有個初步的了解,對 Spring / JPA 有興趣的人千萬別錯過這篇心得!

前言

由 la-team 團隊所開發的 LightAdmin 是一個用於Java Web Application 的 UI library,目前版號為 1.2.0.RC1

而 LightAdmin 的優點很多,例如高度模組化的Configuration、RESTful,更具備進階 Search / Filter 和 Auto-Validate / ScopeFilter 等強大功能,對想節省自建後台成本的人來說是不可多得的利器!

adv-search

尤其搭配上 Spring Boot 更能節省繁瑣的專案配置,LightAdmin 開發團隊甚至於 官網 首頁寫上:

The best match for Spring Boot powered applications!

可見 LightAdmin 十分適合與 spring-boot 結合,故本篇心得也將會使用 spring-boot 進行簡單示範。

Required

Getting Started

首先至 Github clone 下來,並打開 IDE 瀏覽一下專案吧!

setting-pom

先來檢查一下 maven,pom.xml 要設定的有:

  • 定義 Repositories
  • 設定 LightAdmin 的 Dependency,此處我們設定最新版本 1.2.0.RC1

其他細節可以先略過,並打開 src/main/java/org.lightadmin.boot/ 目錄下的 LightAdminBootApplication.java 進行 Servlet 的設定。

如第47行的 servletContextInitializer() 中,可以設定你撰寫的 admin 程式所屬之 Package、後台 Url、Security 為 True 則代表後台需要登入驗證。

.basePackage("org.lightadmin.boot.administration")
.baseUrl("/my-admin")
.security(true)
.backToSiteUrl("http://trunk-studio.com/blog/");

在這次範例中,我設定了 baseUrl 為 my-admin,並將網址設定為創科資訊的 Blog。

Run and Have fun!

其實設定到這不過就花五分鐘而已,但其實 LightAdmin 已經幫我們把其他所有的事情都做好了,很神奇吧!來看看 LightAdmin 幫我們做了些什麼。哦對了!記得先啟動 MySQL Service。

現在,打開你的 Terminal (還是習慣自己下 Command 呀⋯),切換到專案根目錄,輸入:

mvn spring-boot:run

mvn-run-1

成功的話會看見 Spring Boot 的圖示、和最後 JVM Running 的訊息,若出現 Database alter error 可以先忽略。

是不是很興奮啊,趕快打開瀏覽器看一下我們的後台長什麼樣子吧:

localhost:8080/my-admin
Tips
  • 預設帳密 admin / admin
  • 網址後面接的 my-admin 是我前面設定的 baseUrl。

mvn-run-2

Clone 下來的專案已經幫我們設定了一些資料表,因此接下來,我們會參考它們並進行修改。

Customize

Data Admin 設定

administraion/ 目錄

這邊需為每個 Entity 建立一個 Class,例如 City 的 Admin 就是 CityAdministration。其他 Customization 設定像是 listView、AddView、EditView 等,也都在此進行設定。這次心得先簡單帶過,下次會詳細介紹其用法。

Data Model 設定

domain/ 目錄

LightAdmin 基於 JPA-based 的 ORM,故了解 JPA / Hibernate 的人對其用法應該不難上手。

更進階如關聯設定,請參考 JPA 文件:

其他設定
  • import.sql
    對資料庫進行 pre-query
  • application.properties
    可在此設定 spring-boot 的各種屬性。如:

    • datasource 的 url、username、password、driver 等
    • mysql 的 dialect
    • hibernate 的 ddl-auto 方式,如 createcreate-dropupdate
    • 詳細用法請參考 Spring Boot Docs
  • users.properties
    設定管理員帳密,這邊使用SHA1進行密碼的加密。
LightAdmin 的限制

la-team 在官網提到:

currently LightAdmin can only be used with JPA based applications.

雖然目前 LightAdmin 只支援 JPA-based,但只要資料庫的設計遵循著某些 ORM 的原則,LightAdmin 也是能搭配其他語言或框架的。

評價與總結

LightAdmin 還是個年輕待開發的潛力股,相較於自己開發 CRUD 後台,LightAdmin 是一個非常值得考慮的替代方案。但官網的文件寫的較粗且不夠友善,是我覺得可惜之處。

由於目前在用 LightAdmin 的人並不多,希望透過這個心得達到拋磚引玉的效果,引起更多人的關注,以增加討論的活耀度。LightAdmin 還有很多更強大的功能我尚未介紹,未來也繼續撰寫心得分享。

最後,感謝耐心看完的每一個人,若有問題非常歡迎提出討論,謝謝大家!

延伸閱讀

產品資訊
tilda.lu

產品資訊

Ut Elit Tellus, Luctus Nec Ullamcorper Mattis, Pulvinar Dapibus Leo. Donec Sodales Sagittis Magna. Sed Consequat, Leo Eget Bibendum Sodales, Augue Velit Cursus Nunc, Quis Gravida Magna Mi A Libero. Lorem Ipsum Dolor Sit Amet, Consectetur Adipiscing.Ut Elit Tellus, Luctus Nec Ullamcorper Mattis, Pulvinar Dapibus Leo. Donec Sodales Sagittis Magna. Sed Consequat, Leo Eget Bibendum Sodales, Augue Velit Cursus Nunc, Quis Gravida Magna Mi A Libero. Lorem Ipsum Dolor Sit Amet, Consectetur Adipiscing.

閱讀更多 »

Do You Want To Boost Your Business?​

Drop Us A Line And Keep In Touch​