写点什么

专题:快速开发那点事儿 | 轮子怎么选

用户头像
HPioneer
关注
发布于: 2020 年 05 月 07 日
专题:快速开发那点事儿 | 轮子怎么选

你在为写系统不会写烦恼吗?你在为重复性的造轮子而无奈吗?你在为有逻辑而不会写代码而发愁吗?如果是也许这篇文章能帮到你!



1.快速开发框架是什么?

每天工作充斥着大量增删改查,重复性工作,导致认同感、成就感、成长感,长期缺失。996的日常,更是逐渐对公司提出的 “敏捷开发、快速迭代” 嗤之以鼻。



究竟什么样,才能有效降低重复性工作,达到快速开发的目的?

直到我发现了这些,RuoYi、Guns、Jeesite、Halo 等免费的快速开发脚手架。



和平时用的Java框架不同,是一种配置化的开发工具,配置参数,即可生成业务参数及Java代码(包括控制器、模型、视图、菜单等),简单的调试,就可实现完整应用系统。

这些快速开发框架,有着相同的优点。下面以RuoYi为例,进行介绍





通篇看起来,有点像给框架打广告,在此声明:免费无偿分享!!手动狗头



2.快速开发框架有什么?



拖拽式表单开发





拖拽操作,可以支持,完全没有编程基础的人使用,开发完表单直接可以发布成菜单功能。无需编译就可以使用。这类功能同样可以受到权限管控。

以往常规的开发都是产品经理先设计完原型,程序员再去做代码实现,用这种框架,可以在完成原型设计的同时,开发出功能。



传统代码生成器与可视化设计结合生成代码





对于那种有复杂业务逻辑的功能模块,可以利用 可视化的代码生成器,生成基础代码,再自行扩展。

以部门表为例,目前框架可生成的代码模块有数据库、前端、后端等。

domain.java
mapper.java
service.java
serviceImpl.java
controller.java
mapper.xml
sql
api.js
index.vue

以controller.java文件为例,生成的代码规范,可用性极高,简单逻辑的代码,无需修改,开箱即用,遇到有复杂业务逻辑的地方稍作修改就可以,简直不要太方便。

/**
* 部门Controller
*
* @author ruoyi
* @date 2020-05-07
*/
@RestController
@RequestMapping("/system/dept")
public class SysDeptController extends BaseController
{
@Autowired
private ISysDeptService sysDeptService;
/**
* 查询部门列表
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
public TableDataInfo list(SysDept sysDept)
{
startPage();
List<SysDept> list = sysDeptService.selectSysDeptList(sysDept);
return getDataTable(list);
}
/**
* 获取部门详细信息
*/
@PreAuthorize("@ss.hasPermi('system:dept:query')")
@GetMapping(value = "/{deptId}")
public AjaxResult getInfo(@PathVariable("deptId") Long deptId)
{
return AjaxResult.success(sysDeptService.selectSysDeptById(deptId));
}
/**
* 新增部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:add')")
@Log(title = "部门", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SysDept sysDept)
{
return toAjax(sysDeptService.insertSysDept(sysDept));
}
/**
* 修改部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:edit')")
@Log(title = "部门", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SysDept sysDept)
{
return toAjax(sysDeptService.updateSysDept(sysDept));
}
/**
* 删除部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:remove')")
@Log(title = "部门", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptIds}")
public AjaxResult remove(@PathVariable Long[] deptIds)
{
return toAjax(sysDeptService.deleteSysDeptByIds(deptIds));
}
}



内置系统管理基础模块

系统管理基础模块,包括权限管理和通用性功能。

系统管理
-用户管理
-角色管理
-菜单管理
-部门管理
-岗位管理
-字典管理
-参数设置
-通知公告
-日志管理
系统监控
-在线用户
-定时任务
-数据监控
-服务监控

框架中提供了多种形式的权限控制,按角色、按部门、按岗位、按用户、按用户组都可以,操作权限细化到了界面上的每一个按钮。



数据权限可以细化到每一条记录。操作非常简单,基于框架开发出来的功能、报表都可以直接挂到权限体系中来进行授权。做到了权限与业务的分离,只用关心业务实现。



3.快速开发框架怎么用?

官方视频教程收费,之前在B站免费分享出来的,目前被平台锁定了,强制下架了。

若需要之前版本的若依快速开发框架教程,添加QQ群629761591,免费分享给你。

除了官方视频以外,会在公众号专题【快速开发那点事儿】 持续更新,讲解如何使用RUOYI等框架,开发需要的系统。



公众号:V5codings

QQ群:629761591

专注技术分享与交流,官网: http://www.v5coding.com。



发布于: 2020 年 05 月 07 日阅读数: 110
用户头像

HPioneer

关注

爱写作的95后国企产品|程序媛 2020.05.06 加入

爱写作的95后国企产品|程序媛,目前有公众号一枚 V5codings

评论

发布
暂无评论
专题:快速开发那点事儿 | 轮子怎么选