日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

3分鐘純 Java 注解搭個管理系統的示例代碼

瀏覽:40日期:2022-08-15 09:28:58

最近接觸到個新項目,發現它用了一個比較有意思的框架,可以說實現了我剛入行時候的夢想,所以這里馬不停蹄的和大家分享下。

在我剛開始工作接觸的項目都還沒做前后端分離,經常需要后端來維護頁面,有時候覺得自己好像天生不適合干前端,你要是讓我研究研究后端的技術,看個中間件源碼啊,分析分析什么框架底層原理啊,這都問題不大,偶爾搞一下JS也可以。你要是讓我寫個css樣式,那簡直要命了,一點也提不起興趣,不知道有沒有跟我一樣的。

今天要介紹的框架直接不用寫頁面了,話不多說,下邊咱們直奔主題

Erupt一個通用后臺管理框架,據說有 超低代碼量、 零前端代碼、零 CURD操作、無需建表,純Java注解開發等特色,號稱三分鐘就可以搭建一個完整的后臺管理系統。

額~ 聽著好像還挺流批的,到底是不是有這么魔幻,咱們一起用起來感受下。

首先來搭建一下環境,目前Erupt支持Java版本1.8.0及以上、Spring Boot版本2.0及其以上。

搭建easy

pom.xml引入必要的jar包

<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--用戶權限管理--> <dependency> <groupId>xyz.erupt</groupId> <artifactId>erupt-upms</artifactId> <version>1.6.7</version> </dependency> <!--接口數據安全--> <dependency> <groupId>xyz.erupt</groupId> <artifactId>erupt-security</artifactId> <version>1.6.7</version> </dependency> <!--后臺WEB界面--> <dependency> <groupId>xyz.erupt</groupId> <artifactId>erupt-web</artifactId> <version>1.6.7</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>compile</scope> </dependency> </dependencies>

application.yml 文件只要簡單配置數據源就好,提前準備個數據庫,說到數據庫這里我說個小插曲。

我之前在Github 提交案例代碼的時候(https://github.com/chengxy-nds/Springboot-Notebook ),由于沒太注意沒屏蔽敏感信息,導致云數據庫賬號泄露了,最近我發現已經有小伙伴在數據庫上跑項目了,仔細看了看里邊的數據結構,發現像是個畢設項目。

3分鐘純 Java 注解搭個管理系統的示例代碼

本身這個庫就是我跑demo案例的一個測試庫,為的就是讓小伙伴能把更多時間放在研究案例的技術點上,減少搭建環境這種沒技術含量的瑣碎事。

發現歸發現,這里我沒改密碼,也沒刪他們的庫,如果你要用就繼續用著,但玩歸玩,鬧歸鬧,你不能亂動不是你的數據!影響其他人學習就不好了。

spring: datasource: url: jdbc:mysql://47.93.6.5:3306/erupt2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: 123456 jpa: show-sql: true generate-ddl: true database-platform: org.hibernate.dialect.MySQL5InnoDBDialect database: mysql profiles: active: dev mail: username: xxxx@qq.com password: xxxxxxx host: smtp.qq.com properties: mail.smtp.ssl.auth: true mail.smtp.ssl.enable: true mail.smtp.ssl.required: trueserver: port: 8888

說了點題外話,我們繼續搞起~

其實到這Erupt的環境就搭建完了,額~ ,這就完了?

咱們什么也沒干,項目是個空殼子,一行代碼也沒寫,好像連個表也沒建啊!

3分鐘純 Java 注解搭個管理系統的示例代碼

別著急咱們先啟動下項目,看到控制臺打印出很多建表語句和插入語句,這是因為Erupt框架底層應用JPA持久化,預置創建了一些系統表和數據。

3分鐘純 Java 注解搭個管理系統的示例代碼

注意:Erupt預置表只會隨項目第一次啟動構建一次,如果想重新創建,需刪除.Erupt文件(一般在項目的工作空間內),獲取文件位置方式

System.getProperty('user.dir')

再看數據庫里創建了16張系統表,其中e_upms_user表是用戶表,默認只有一個管理員賬號,用戶名、密碼都是erupt。

3分鐘純 Java 注解搭個管理系統的示例代碼

緊接著我們訪問http://127.0.0.1:8888/,看一下是個什么效果,竟然有個完整的登錄頁面。

3分鐘純 Java 注解搭個管理系統的示例代碼

用上邊的用戶名、密碼直接登錄,erupt已經預先實現了完整的權限控等功能,而到這我們幾乎是沒寫過什么代碼的,都是框架封裝好了的,菜單類數據全部從數據庫動態獲取,一個基礎的后臺管理系統就搭建完了,有點哇塞。

3分鐘純 Java 注解搭個管理系統的示例代碼

有趣的頁面

那么問題來了?想要自定義頁面怎么辦?

開篇我們就說過erupt是零前端代碼,全部基于Java注解開發的,接下來用Java注解寫個簡單頁面體驗下。

erupt有兩個核心注解@Erupt,@EruptField

@Erupt注解修飾類,代表定義一個頁面 @EruptField注解修飾字段,代表頁面上顯示的字段名 @Power注解控制是否操作按鈕,增、刪、改、查、導入、導出等@Search注解表示字段為搜索條件 @Table注解表示頁面取數據對應的表,如果不設置,頁面第一次初始化的時候,會根據類字段值自動創建一張和類名一致的表名。

注解類型比較多,不一一列舉了,更多的自己到官網瞅:https://www.erupt.xyz

下邊我們定義一個Student類,加上@Erupt,@EruptField注解,這樣頁面和元素就算寫完了,是不是有點顛覆認知。

/* * @Erupt注解修飾在類上,@EruptField注解修飾在字段上 * 其他注解均為Jpa注解 */@Getter@Setter@Erupt(name = '學生表', power = @Power(importable = true, export = true))@Entity//@Table(name = 't_student')public class Student extends BaseModel { @EruptField( views = @View(title = '學生姓名'), edit = @Edit(title = '學生姓名', notNull = true, search = @Search(vague = true)) ) private String studentName; @EruptField( views = @View(title = '所屬班級'), edit = @Edit(title = '所屬班級', notNull = true) ) private String studentClass; @EruptField( views = @View(title = '學生年齡'), edit = @Edit(title = '學生年齡', notNull = true) ) private String studentAge; @Lob @EruptField( views = @View(title = '學生性別'), edit = @Edit(title = '學生性別', notNull = true) ) private String studentSex; @EruptField( views = @View(title = '考核狀態'), edit = @Edit(title = '考核狀態', notNull = true, boolType = @BoolType(trueText = '通過', falseText = '掛科'), search = @Search) ) private Boolean status;}

但此時新創建的頁面不會顯示出來,還需要我們手動做一個映射關系,在菜單維護中自定義個菜單,類型值一定要為新建的 類名 Student。

3分鐘純 Java 注解搭個管理系統的示例代碼

保存刷新后會看到我們的新頁面出現了,而且頁面的功能很完整,基礎操作、查詢、導入、導出功能都自動實現了。

3分鐘純 Java 注解搭個管理系統的示例代碼

頁面新增一個學生信息,對應的Student表也多了條記錄,而這個持久化的過程完全由框架來做。

3分鐘純 Java 注解搭個管理系統的示例代碼

盡管Erupt 框架對前后端代碼做了深度封裝,但它提供了豐富靈活的自定義接口,來滿足我們的個性化需求。

比如我們在錄入新學生信息時,希望屏蔽名字為張三的同學,可以對頁面按鈕功能做代理dataProxy,實現自定義的邏輯,對哪個按鈕代理就實現對應方法即可,如beforeAdd、afterAdd是對新增按鈕的代理。

@Getter@Setter@Erupt(name = '學生表',dataProxy = {StudentDataProxy.class}, power = @Power(importable = true, export = true))@Entity//@Table(name = 't_student')public class Student extends BaseModel {}public class StudentDataProxy implements DataProxy<Student> { @Override public void beforeAdd(Student student) { //后臺字段校驗 if ('張三'.equals(student.getStudentName())) { throw new EruptApiErrorTip('名稱禁止為張三!'); } } @Override public void afterAdd(Student student) { } @Override public void afterUpdate(Student student) { } @Override public void afterDelete(Student student) { } }

當我們在頁面錄入名字為張三的同學時,成功屏蔽。其他類似的功能還有很多,這里就不一一舉例了,看文檔看文檔~

3分鐘純 Java 注解搭個管理系統的示例代碼

如果我們想要按傳統的方式開發接口,不用擔心會和Erupt的頁面生成規則有沖突,絲毫不會受影響。而且Erupt內部集成了JPA,提供了現成的dao接口,只要調用對應API即可上手開發。

3分鐘純 Java 注解搭個管理系統的示例代碼

如果你不想手寫Java代碼也沒關系,Erupt還提供了代碼生成器,自定義Java類名和字段名,可以生成代碼,直接copy就行了。

3分鐘純 Java 注解搭個管理系統的示例代碼

3分鐘純 Java 注解搭個管理系統的示例代碼

說到這我只介紹了Erupt一丟丟的基礎特性,主要是想讓小伙伴知道有這么個敏捷利器。

不僅如此它還支持豐富的數據類型,內置了像定時任務管理、多表聯合查詢、前后端分離部署、接口權限、操作記錄、多數據源、郵件系統、黑白名單等等很多實用功能,都直接調用API就可以用。

3分鐘純 Java 注解搭個管理系統的示例代碼

說在后邊

Erupt 框架的優點是顯而易見的,快捷、高效、上手容易,對新手相當的友好,但在實際生產環境中我只是用它來做一些配置字典類的數據管理。

因為它的深度封裝雖然讓開發變的簡單高效,可對于業務相對復雜、高度定制的系統來說,Erupt 框架顯得力不從心,更關鍵的一點,它的社區并不算特別活躍,畢竟是個小眾框架。

不過,技術從來都是服務于業務的,如果你的業務與Erupt的氣質相匹配,別猶豫,用它!

到此這篇關于3分鐘純 Java 注解搭個管理系統的示例代碼的文章就介紹到這了,更多相關Java 注解搭個管理系統內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久久久久丰满| 五月天激情综合网| 日韩av午夜在线观看| 亚洲精品日本| 99精品99| 亚洲资源av| 亚洲三级国产| 国产丝袜一区| 福利一区二区| 色天使综合视频| 亚洲欧美日韩综合国产aⅴ| 免播放器亚洲一区| 亚州精品视频| 国产精品红桃| 久久久久久久久久久9不雅视频| 久久精品国内一区二区三区水蜜桃| 日韩毛片在线| 国产精品日韩久久久| 日韩久久99| 美女视频黄免费的久久| 成人在线免费观看91| 欧美日韩国产一区二区三区不卡| jiujiure精品视频播放| 亚洲三级网址| 精品亚洲自拍| 夜夜精品视频| 久久精品亚洲一区二区| 国产亚洲欧洲| 欧美国产极品| 国产亚洲综合精品| 久久成人福利| 久久最新视频| 裤袜国产欧美精品一区| 免费看黄色91| 国内精品伊人| 六月婷婷一区| 日韩电影免费网站| 日韩高清一区在线| 日韩成人亚洲| 国产精品亚洲一区二区在线观看| 亚洲国产影院| 精品国产亚洲日本| 亚洲精品一二| 亚洲国产日韩欧美在线| 久久永久免费| 日韩精彩视频在线观看| 欧美日韩国产在线观看网站 | 国产亚洲精品美女久久| 亚洲黑丝一区二区| 岛国av在线网站| 国产精品一国产精品| 日韩激情中文字幕| 性色一区二区| 激情欧美一区二区三区| 日韩av二区| 美女精品久久| 老色鬼精品视频在线观看播放| 日韩av一区二区在线影视| 免播放器亚洲| 免费看日韩精品| 亚洲一二av| 日韩福利视频网| 国产农村妇女精品一区二区| 亚洲欧美日韩综合国产aⅴ| 国产一区导航| 日韩精品国产精品| 清纯唯美亚洲综合一区| 日韩1区2区日韩1区2区| 日韩av成人高清| 国产精品hd| 国产精品久久久久久久久妇女| 国语精品一区| 久久中文字幕av一区二区不卡| 欧洲av一区二区| 免费精品国产的网站免费观看| 中文精品在线| 视频精品一区| 日韩高清不卡在线| 久久精品国产免费| 久久三级视频| 中文字幕日韩亚洲| 国产精品观看| 日韩欧美一区二区三区免费观看| 激情综合网址| 天堂精品久久久久| 久久久久观看| 好吊日精品视频| 欧美一级网站| 久久久久国产精品一区二区| 亚洲一区二区小说| 国产成人免费av一区二区午夜| 亚洲激情中文| 日本久久一区| 久久精品卡一| 国产欧美大片| 婷婷丁香综合| 国产伦精品一区二区三区视频| se01亚洲视频 | 麻豆国产精品| 亚洲激情精品| 久久精品国产网站| 影院欧美亚洲| 精品一区二区三区中文字幕| 欧美午夜不卡| 荡女精品导航| 日韩一区精品视频| 精品国产第一福利网站| 日韩国产在线观看| 日韩一级欧洲| av资源中文在线天堂| 亚洲精品黄色| 99视频一区| 日韩理论片av| 美女高潮久久久| 欧美日韩91| 蜜臀久久99精品久久久久宅男| 欧美三区四区| 国产精品羞羞答答在线观看| 爽爽淫人综合网网站| 成人看片网站| 亚洲欧洲高清| 日韩1区2区| www在线观看黄色| 久久精品国产在热久久| 青青青国产精品| 91在线成人| 国产欧美一区二区精品久久久 | 麻豆精品新av中文字幕| 日本不卡视频在线观看| 日韩一区欧美二区| 日本欧洲一区二区| 在线一区视频| 丝袜国产日韩另类美女| 丝袜美腿高跟呻吟高潮一区| 亚洲一区二区三区四区五区午夜| 99精品小视频| 久久香蕉国产| 久久国产高清| 亚洲精品动态| 国产欧美自拍| 欧美激情麻豆| 麻豆高清免费国产一区| 91亚洲国产成人久久精品| 日韩电影二区| 亚洲深夜av| 91av一区| 麻豆国产在线| 免费视频久久| 国产精品视频一区视频二区| 精品日韩在线| 亚洲精品91| 欧美天堂在线| 91欧美国产| 亚洲一区二区三区免费在线观看| 亚洲专区视频| 国产精品久久久免费| 国产精品蜜芽在线观看| 亚洲激情另类| 麻豆久久久久久| 99视频精品| 国产成人免费av一区二区午夜| 99视频在线精品国自产拍免费观看| 欧美日韩午夜电影网| 在线观看精品| 国产日韩免费| 亚洲精品网址| 欧美激情麻豆| 视频一区欧美日韩| 狠狠久久伊人中文字幕| 久久福利影视| 日韩精品1区| 视频一区中文字幕精品| 欧美精品高清| 久久在线91| 日韩高清成人在线| 欧美日韩国产高清| 国产精品伦理久久久久久| 日韩av黄色在线| 黄色日韩在线| 日韩欧美一区二区三区免费观看| 久久精品xxxxx| 亚洲毛片一区| 亚洲欧美日韩视频二区| 欧美日韩在线网站| 水蜜桃精品av一区二区| 欧美三级第一页| 亚洲一级影院| 久久精品主播| 九色porny丨国产首页在线| 美女视频黄 久久| 国产亚洲欧美日韩精品一区二区三区| 国产午夜精品一区二区三区欧美| 久久久一二三| 久久婷婷亚洲| se01亚洲视频| 免费欧美一区| 亚洲一区区二区| 视频一区在线视频| 日本亚洲三级在线| 欧美一级久久|