SpringBoot实战电商项目mall(40k+star)地址:github.com/macrozheng/…

摘要

一个处理体系,往往虚拟机linux需求后端+前端一起结束。单表CRUD操作往往都差不多,咱们能够运用代码生成器来结束。有时分咱们的处理体系只需求一些简略的CRUD页面,有没有什么结构能做到不写前端代码,纯Java撸个处理体系呢?这里引荐一个全栈类结构Erupt,期望对咱们有所帮助!

Erupt简介

Erupt是一个低代码全栈类结构,它运用Java 注解动态生成页面以及增、删、改、查、权限操控等后台功用。零前端代码、零CURD、主动建表,仅需一个github是干什么的类文件 + 简练的注解装备,快速开发企业级后台处理体系。

根柢运用

咱们首要来波实战,以产品品牌处理为例,来了解下Erupt结合SpringBoot的根柢运用!

SpringBoot整合Erupt

由于Erupt原安全生支撑SpringBoot,所以整合仍是很便当的前端开发需求把握什么技能

  • 为了便当处理Erupt版别,咱们先在pom.xml虚拟机是什么意思增加Erup前端结构t虚拟机型安卓下载的版别特征;
<properties>
<erupt.version>1.6.13</erupt.version&github中文官网网页gt;
</properties>
  • 服务器体系后在pom.xml中增加Erupt的权限处理、数据安全、后台前端WEB界面及MySQL驱动依托;
<dependencies>
<!--用户权限处理-->
<dependency&ggithub永久回家地址t;
<groupId>x前端结构yz.erupt</groupId>
<artifac前端工程师tId>erupt-upms</artifactId>
<version>${erupt.versi服务器操作体系on}</version>
</dependency>
<!--接口虚拟机装置教程数据安全-->gitee
<dependency>
<groupId>xyz.erupt</groupId>
<artifactId>erupt-security</artifactId>
<version>github是干什么的${erupt.version}</v前端学什么ersion>
&l安全出产法t;/dependency>
<!--后台WEB界面-->
<dependency>
<grogithub是干什么的upId>xyz.erupt</groupId>服务器操作体系
<artifactId>erupt-web</artifactId>
<version&gt虚拟机装置;${erupt.versi虚拟机是什么意思on}</version>
</dependency>
<!--Mysql数据库驱动-->
<dependency&g前端开发需求把握什么技能t;
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</art虚拟机安卓ifactId>
<version>8.0.15</versiongithub中文官网网页>
</dependency>
</dependencies>
  • 修正项目的applica虚拟机配置参数调优tio前端结构n.yml文件,增加数据源和JPA装备;
spring:
datasource:
url: jdbc:m虚拟机装置教程win10ysql://localhost:3306/erupt?usegithubUnicodgithub永久回家地址e=true&characterEncoding=UTF-8&serverTim虚拟机下载手机版ezone=As安全ia/Shanghai
username: root
password: root
jpa:
show-sql: true
generate-ddl: true
database-platform: org.hibernate.dialect.MySQL5InnoDBD安全期是哪几天ialect
database: mysgitiql
  • 在项目的resources目录下创立如下装备文件(复制mal前端开发需求学什么l-tiny-erupt中的即可);

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 增加Eru虚拟机装置教程pt的Java装备类EruptConfig,以建议服务器怎样建立MallTinyApplication前端工程师包为准,装备包扫码途径;
/**
* Created by macro on 2021/4/13.
*/
@Configuration
@ComponentScan({"xyz.erupt","com.ma前端面试题cro.虚拟机mall.tiny"})
@EntityScan({"xyz.erupt","com.macro.mall.tiny"})
@EruptSc安全期是什么时分an({"xyz.erupt","com.macro.mall.tiny"})
public class EruptConfig {
}
  • 在MySQL中创立erupt数据库,之后运用建议类工虚拟机作该项目,在eru前端开发pt数据库中会主动创立如下表;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 服务器地址在哪里看目建议成功后,能够直接访登录页,默许安全期是哪几天账号暗码erup安全出产法t:erupt,项目拜访地址:http://localhost:8080/

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 登录成功后会跳转到项目主页,咱们能够发现没有写一行前端代码,却具有了无缺的权限处理和字典处理功用,是不是很棒!

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

结束单表 CRUD前端学什么

运用服务器地址在哪里看中心注解@Erupt@EruptField定义一个实体类即可快速结束CRUD操作,让咱们以产品品牌处理为例前端结构试试吧。

  • 不需求Controller、Service、Dao,只是一个实体类即可结束CRUD,首要咱们创立实体类PmsBrand
@Erupt(name = "产品品牌")
@Table(name = "pms_brand")
@Entity
public class PmsBrand {
@Id
@GeneratedValue(generator = "generator"前端开发需求把握什么技能)
@GenericGenerator(name = "generator", str安全期计算器a服务器操作体系tegy = "native")
@Co虚拟机是什么意思lumn(name = "id")
@EruptField
p服务器地址在哪里看rivate Long id;
@EruptField(
views = @View(title = "品牌称谓"),
edit = @Edit(title = "品牌称谓",notNull=true,search = @Search(v虚拟机是什么意思ague =服务器和电脑主机的差异 true))
)
private String name;
@EruptField(
views = @View(title = "品牌首字母"),
egitlabdit = @Edit(title = "品牌首字母",notNull=tr虚拟机下载手机版ue)
)
private String firstLetter;
@EruptField(
vigit指令ews = @View(title = "品牌LOGO"),
edit = @Edit(title = "品牌LOGO", type = EditType.ATTACHMENT,
attachmentType = @AttachmentTypegithub中文官网网页(type = AttachmentType.Type.IMAGE))
)
private String logo;
@Erupt服务器租借多少钱一年Field(
views = @View(title = "品牌专区大图"),
edit = @Edit(title = "品牌专区服务器是什么大图", type = EditType.ATTACHMENT,
attachmen前端训练组织tType = @Att虚拟机对电脑伤害大吗achmentType(type = A服务器和电脑主机的差异ttachmentType.Type服务器是什么.IMAGE))
)
private String bigPic;github
@EruptField(
views = @View(title = "品牌故事"),虚拟机
edit = @Edit(title = "品牌故事")
)
private String brandStory;
@EruptField(
views = @View(title = "排序"),
edit = @Ed安全期计算器it(title = "排序")
)
private In前端开发teger sort;
@EruptFigithub永久回家地址eld(
views = @View服务器地址在哪里看(title = "是否闪现"),
edit = @Edit(title = "虚拟机装置教程win10是否闪现")
)
private Boolean showStatus;
@EruptField(
views = @View(安全出产法title = "品牌制造商"),
edit = @Edit(title = "品牌制造商")
)
privategitlab Boolean factoryStatus;
private Integer productCount;
private Integer productCommentCount;
}
  • 创立成功后重启项目,在菜单保护中增加一个叫产品的一级菜单;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 然后再增加一个叫gitee品牌处理的二级菜单,留意选择好菜单类型上级菜单,输入类型值为实体类的类称谓PmsBrand

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 菜单增加成功后,改写页面前端开发需求学什么,无缺的品牌处理虚拟机型安卓下载功用就呈现了,来试下新增;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 再看下查询列表页面,能够发现咱们经过@Edigithub永久回家地址t注解,将实体类的虚拟机装置教程win10字段转化成了不同的输入控件,比方文本框、图片上传框、单选框和数值框。

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

中心注解阐明

几个Erupt的中心注解,对照P服务器msBran前端学什么d中的代码学习即可!

@Erupt

  • name:功用称谓
  • desc:功用描绘

@EruptField

  • view安全手抄报s:表格展现装备
  • edit:修正项装备
  • sort:前端展现次序,数字越小越靠前

@View

  • title:表格列称谓
  • desc:表格列描绘
  • type:数据展现形式,默以为A前端开发需求把握什么技能UTO,能够根据特征类型自行揣度
  • show:是否闪现

@Edit

  • title:表格列称谓
  • desc:表格列描绘
  • type:修正类型,默以为AUTO,能够根据特征类型自行揣度
  • show:是否闪前端工程师
  • notNull:是否为必填项
  • search:是否支撑查找,search = @Search(vague = true)会启用高级查询战略

扩展模块

当然Erupt的功用远不止于此,还集成了许多有用的体系功用,包含守时使命、代码生成器、体系监控及NoSQL支撑等。安全期是哪几天

守时使命erupt-job

经过守时使命功用,咱们能够在代码中定义好守时使命,然后在图形化界面中操作使命,有点之前讲过的PowerJob 的感觉!

  • 首要咱们安全期计算器需求在pom.xml中增加erupt-job相关依托;
<!--守时使命erupt-job-->
<dependency>
<g虚拟机roupId>xyz.erupt</groupId>
<artifactId>erupt-job</artifactId>
<version>${erupt.versgitlabion}</version>
</d虚拟机linuxependency>
  • 之后在application.yml中增加邮件装备(否则建议会报错虚拟机);
spring:
mail:
username: xxxxxx@qq.com
password: 123456
host: smtp.exmail.qq.com
port: 465
properties:
mail.smtp.ssl.auth: true
mail.smtp.ssl.enable: true
mail.smtp.ssl.required: true
  • 之后创立一个守时使命结束类JogitibHandlerImpl,在虚拟机对电脑伤害大吗exec方法中增加守时使命实施代码;
/**
* Created by macro ogit教程n 2021/4/13.
*/
@Service
@Slf4j
publ虚拟机型安卓下载ic class JobHandlerImpl implements EruptJobHandler {
@Ovegit指令rride
pu前端面试题blic String exec(String code, String param) throws Excepti前端结构on {
log.info("守时使命现已实施,code:{},param:{}",code,param);
return "success";
}
}
  • 之后从头建议应用,在使命保护中增加一个守时使命,每5秒实施一次;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 增加成功后,守时使命初步实施,点击使命列表中的日志按钮即可查看实施日志。

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

代码生成器erupt-generator

假设你觉得手写实体类比较麻烦的话,还能够用用Erupt中的代码生成器。

  • pom.xml中增加erupt-generator相关依托;
<!-- 代码生成前端工程师器 erupt-generator -->
<dependency>
<groupId>xyz.erup虚拟机是什么意思t</groupId>
&lt前端学什么;artifactIdgitee>erupt-gene安全手抄报rator</artifactId>
<version>${erupt.version}</version>
</dependency前端开发>
  • 代码生成菜单中咱们能够像在Navicat中一样,直接增加虚拟机安卓表和字段,然后生成实体类代码;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 咱们在增加过程中能够发现,Erupt支撑的修正类型还挺多的,多达30种;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 增加成功后服务器体系,点击列表项的代码预览按钮能够直接生成代码,复制到自己项目下即可。

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

体系监控erupt-monitor

经过运用Erupt的体系监控功用,咱们能够查看服务器的装备、Redis的缓存运用情况和在线用户信息。

  • pom.xml中增加erupt-monitor相关依托;
<!--服务器监控 erupt安全教育渠道登录-monitor-->
<d服务器操作体系银河麒麟ependency>
<groupId>xyz.er前端开发需求把握什么技能upt</groupId>
&l服务器内存和一般内存有什么差异t;artifactId>erupt-monitor<安全教育渠道登录进口/art服务器和电脑主机的差异ifactId>
<version&gt服务器地址在哪里看;${erupt.version}</version&g服务器操作体系t;
</dependency>
  • 由于需求运用到Redis,所以要在application.yml中增加Redis装备,并翻开Ses安全教育渠道sion的Redis存储功用;
spring:
redis:
host: localhost # Redis服giti务器地址
database: 1 # Redis数据库索引(默以为0)
port: 6379 # Redis服务服务器租借多少钱一年器联接端口
password: 123456 # Redis服务器联接暗码(默以为空)
timeout: 3000ms # 联接超时时刻
erupt:
# 翻开redis方法存储session,默许false,翻开后需在装备文件中增加redis装备
redisSession:github永久回家地址 true
  • 经过服务监控菜单,能够查看到服务器的CPU、内存和Java虚拟机信息;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 经过缓存监控菜单,能够查看到Red安全期计算器is信息、指令核算和Redis Key核算;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 经过在线用户菜单,能够查看到在线用户信息,还能够让用户强行退出!

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

NoSQL数据源erupt-mongodb

Erupt支撑多种数据源,包含:MySQL、O前端开发需求把握什么技能racle、PostgreSQL、H2,乃至支撑 MongoDB。下面咱们来体会下MongoDB的支撑功用。

  • pom.xml中增加erupt-mongodb相关依托github
<!--NoSQL数据源 erupt-mong虚拟机安卓odb--&giti轮胎gt;
<dependency>
<groupId>xyz.erupt</grgithub是干什么的oupId>gitee
<artifactId>erupt-mongodb服务器体系</artifactId>
<version>${erupt.version}</versio前端学什么n>
</dependency>
  • 虚拟机型安卓下载为需求运用到MongoDB,所以要在application.yml中增加MongoDB装备;
spring:
data:
mongodb:
hostgit教程: localhost # mongodb的联接地址
port: 27017 # mongodb的联接端口号
database: erupt # mong虚拟机下载手机版od服务器操作体系b的联接的数据库
  • 以一个简化版的产品服务器体系处理为例,仍是了解的套路,增加一个PmsProduct实体类;
/**
* Created by macro on 2021/4/13.
*/
@EruptDataProce前端和后端哪个薪酬高ssor(EruptMongodbIgit教程mpl.MONGODB_PROCESS)  //此注解标明运用M服务器租借多少钱一年ongoDB来存储数据
@Document(collection = "product")
@Erupt(
name = "产品处理",
orderBy = "sort"
)
public class PmsProduct {
@Id
@EruptField
private String id;
@EruptField(
views = @View(t服务器和电脑主机的差异itle = "产品称谓", sor前端开发需求把握什么技能table = t前端学什么rue),
edit = @Edit(title = "产品称谓", search = @Search(va服务器是什么gue = tru服务器租借e))
)
private String name;
@EruptField(
views = @View(title = "副标安全题", sortable = true),
edit = @Edit(title = "副标题", search = @Search(vague = true))
)
private String subTitle;
@EruptField(
views = @View(title = "价格", sortable = true),
edit = @Edit(title = "价格")
)
private Double price;
@EruptF前端开发需求把握什么技能ield(
views = @Vie虚拟机是什么意思w(title = "产品图片"),
edit = @Edit(title = "产品图片", type = EditType.ATTACHMENgithubT,
atgithub永久回家地址tachmentType = @Atta前端训练组织chmentType(type = AttachmentType.T前端训练组织ype.IMAGE))
)
private String pic;
@EruptField(
views = @View(title = "情况", sortable = true),
edit = @Edit(title = "情况",
boolType = @Bgithub是干什么的oolType(trueText = "上架", falseText = "下架"),
seargiti轮胎ch = @Search)
)
private Boolean publishStatus;
@EruptField(
views = @View(title = "创立时刻", sortable = true)服务器内存和一般内存有什么差异,
edi虚拟机装置t = @Edit(title = "创立时刻", se前端和后端哪个薪酬高arch = @Search(vague前端面试题 = true))
)
private Dat安全期是什么时分e createTime;
}
  • 与之前操作MySQL的差异是经过@EruptDataProcessor注解指定用MongoDB来存储数据,@Table注解改为运用@Document注解;
@EruptDataProc服务器体系essor(EruptMongodbImpl.MONGODB_PROCEgithub永久回家地址SS)  //此注解标明运用MongoDB来存储数据
@Document(collection = "product")
@Erupt(
nam前端结构e = "产品处理",
orderBy = "sgitlabort"
)
public c虚拟机型安卓下载lass PmsProduct {
//...省掉若干代码
}
  • 接下来就是在github永久回家地址单保护里面增加一个产品处理的菜单,改写一下就能够看到该功用了。

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

在线接口开发erupt-magic-api

毕竟再介绍一个奇特的功用,直接git教程服务器操作体系过UI界面来开发接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java目标!

  • pom.xml中增加erupt-magic-api相关依托;
<!--在线接口开发 erupt-magic-api-->
<服务器和电脑主机的差异dependency>
<groupId>xyz.erupt&前端工程师lt;/groupId>
<artifactId>erupt-gitlabmagic-api</artifgiti轮胎actId>
<version>${erupt.version}</version>
</dep虚拟机下载手机版endency>
  • applica安全期是哪几天tion.ym服务器租借多少钱一年l中增加magic-api相关装备;
erupt:
# 设置详细哪些包被jackson消息转化而不是gson
jacksonHttpMessageConvegit教程rtersPackages:
- org.ssssssss
magic-api:
web: /magic/web
# 接前端开发需求学什么口装备文件寄存途径
resource.location: D:/erupt/magic-script
  • 咱们能够直接经过magic-apigithub自己定义的服务器脚本来结束查安全期计算器询,比方下面这个脚本,用于查询全部品牌;
var sql = "select * fro前端面试题m pms_brand";
retu前端开发需求学什么rn服务器地址在哪里看 db.s前端和后端的差异elect(sq前端面试题l);
  • 接口装备菜单中直接增加该脚本安全期是什么时分即可结束品牌列表查询服务器接口,无需额外编写代码;

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

  • 在浏览器中直接拜访接口,发现现已主动生成接口,是不是很棒!

再会前端!纯 Java 撸个办理体系,这结构用起来贼爽!

总结

git教程设你的需求是建立一个事务并不凌乱的后台处理体系,Erupt是一个很好的选择!它能让你不写前端代码!但是假设你的需前端训练组织求方对安全期是哪几天界面有许多要求,而你的事务逻辑又比较凌乱的话那就要自己前端面试题结束前端了!

参考资料

官方文档:www.yuque.com/erupts/erup…

项目源码地址

github.com/macrozheng/…

本文 GitHub github.com/macrozheng/… 现已收录,欢迎咱们Star!