如何搭建Java管理系統(tǒng)

本篇內(nèi)容主要講解“如何搭建Java管理系統(tǒng)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何搭建Java管理系統(tǒng)”吧!

在成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站過程中,需要針對客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。成都創(chuàng)新互聯(lián)還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。

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

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

首先來搭建一下環(huán)境,目前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>
        <!--用戶權(quán)限管理-->
        <dependency>
            <groupId>xyz.erupt</groupId>
            <artifactId>erupt-upms</artifactId>
            <version>1.6.7</version>
        </dependency>
        <!--接口數(shù)據(jù)安全-->
        <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 文件只要簡單配置數(shù)據(jù)源就好,提前準(zhǔn)備個數(shù)據(jù)庫,說到數(shù)據(jù)庫這里我說個小插曲。

我之前在Github 提交案例代碼的時候(https://github.com/chengxy-nds/Springboot-Notebook ),由于沒太注意沒屏蔽敏感信息,導(dǎo)致云數(shù)據(jù)庫賬號泄露了,最近我發(fā)現(xiàn)已經(jīng)有小伙伴在數(shù)據(jù)庫上跑項(xiàng)目了,仔細(xì)看了看里邊的數(shù)據(jù)結(jié)構(gòu),發(fā)現(xiàn)像是個畢設(shè)項(xiàng)目。

如何搭建Java管理系統(tǒng)

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

發(fā)現(xiàn)歸發(fā)現(xiàn),這里我沒改密碼,也沒刪他們的庫,如果你要用就繼續(xù)用著,但玩歸玩,鬧歸鬧,你不能亂動不是你的數(shù)據(jù)!影響其他人學(xué)習(xí)就不好了。

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: true
server:
  port: 8888

說了點(diǎn)題外話,我們繼續(xù)搞起~

其實(shí)到這Erupt的環(huán)境就搭建完了,額~ ,這就完了?

咱們什么也沒干,項(xiàng)目是個空殼子,一行代碼也沒寫,好像連個表也沒建?。?/p>

如何搭建Java管理系統(tǒng)

別著急咱們先啟動下項(xiàng)目,看到控制臺打印出很多建表語句和插入語句,這是因?yàn)?code>Erupt框架底層應(yīng)用JPA持久化,預(yù)置創(chuàng)建了一些系統(tǒng)表和數(shù)據(jù)。

如何搭建Java管理系統(tǒng)

注意Erupt預(yù)置表只會隨項(xiàng)目第一次啟動構(gòu)建一次,如果想重新創(chuàng)建,需刪除.Erupt文件(一般在項(xiàng)目的工作空間內(nèi)),獲取文件位置方式

System.getProperty("user.dir")

再看數(shù)據(jù)庫里創(chuàng)建了16張系統(tǒng)表,其中e_upms_user表是用戶表,默認(rèn)只有一個管理員賬號,用戶名、密碼都是erupt。

如何搭建Java管理系統(tǒng)

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

如何搭建Java管理系統(tǒng)

用上邊的用戶名、密碼直接登錄,erupt已經(jīng)預(yù)先實(shí)現(xiàn)了完整的權(quán)限控等功能,而到這我們幾乎是沒寫過什么代碼的,都是框架封裝好了的,菜單類數(shù)據(jù)全部從數(shù)據(jù)庫動態(tài)獲取,一個基礎(chǔ)的后臺管理系統(tǒng)就搭建完了,有點(diǎn)哇塞。

如何搭建Java管理系統(tǒng)

有趣的頁面

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

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

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

  • @Erupt注解修飾類,代表定義一個頁面

  • @EruptField注解修飾字段,代表頁面上顯示的字段名

  • @Power注解控制是否操作按鈕,增、刪、改、查、導(dǎo)入、導(dǎo)出等

  • @Search注解表示字段為搜索條件

  • @Table注解表示頁面取數(shù)據(jù)對應(yīng)的表,如果不設(shè)置,頁面第一次初始化的時候,會根據(jù)類字段值自動創(chuàng)建一張和類名一致的表名。

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

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

/*
 *  @Erupt注解修飾在類上,@EruptField注解修飾在字段上
 *  其他注解均為Jpa注解
 */
@Getter
@Setter
@Erupt(name = "學(xué)生表",
        power = @Power(importable = true, export = true)
)
@Entity
//@Table(name = "t_student")
public class Student extends BaseModel {

    @EruptField(
            views = @View(title = "學(xué)生姓名"),
            edit = @Edit(title = "學(xué)生姓名", 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 = "學(xué)生年齡"),
            edit = @Edit(title = "學(xué)生年齡", notNull = true)
    )
    private String studentAge;

    @Lob
    @EruptField(
            views = @View(title = "學(xué)生性別"),
            edit = @Edit(title = "學(xué)生性別", notNull = true)
    )
    private String studentSex;

    @EruptField(
            views = @View(title = "考核狀態(tài)"),
            edit = @Edit(title = "考核狀態(tài)", notNull = true, boolType = @BoolType(trueText = "通過", falseText = "掛科"), search = @Search)
    )
    private Boolean status;
}

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

如何搭建Java管理系統(tǒng)

保存刷新后會看到我們的新頁面出現(xiàn)了,而且頁面的功能很完整,基礎(chǔ)操作、查詢、導(dǎo)入、導(dǎo)出功能都自動實(shí)現(xiàn)了。

如何搭建Java管理系統(tǒng)

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

如何搭建Java管理系統(tǒng)

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

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

@Getter
@Setter
@Erupt(name = "學(xué)生表",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) {
        //后臺字段校驗(yàn)
        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) {
    }
 }

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

如何搭建Java管理系統(tǒng)

如果我們想要按傳統(tǒng)的方式開發(fā)接口,不用擔(dān)心會和Erupt的頁面生成規(guī)則有沖突,絲毫不會受影響。而且Erupt內(nèi)部集成了JPA,提供了現(xiàn)成的dao接口,只要調(diào)用對應(yīng)API即可上手開發(fā)。

如何搭建Java管理系統(tǒng)

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

如何搭建Java管理系統(tǒng)

如何搭建Java管理系統(tǒng)

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

不僅如此它還支持豐富的數(shù)據(jù)類型,內(nèi)置了像定時任務(wù)管理多表聯(lián)合查詢、前后端分離部署、接口權(quán)限、操作記錄、多數(shù)據(jù)源郵件系統(tǒng)、黑白名單等等很多實(shí)用功能,都直接調(diào)用API就可以用。

如何搭建Java管理系統(tǒng)

到此,相信大家對“如何搭建Java管理系統(tǒng)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

當(dāng)前題目:如何搭建Java管理系統(tǒng)
本文地址:http://bm7419.com/article44/gejohe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站策劃虛擬主機(jī)、品牌網(wǎng)站建設(shè)、網(wǎng)站營銷、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營