组合式和选项式 Vue2 使用的是选项式(Options)API,Vue3 推荐使用组合式(Composition)API。 关于组合式和选项式 API 的区别以及优缺点可以观看视频。 可以在 Vue3 中使用组合式 API 编写代码,但不推荐。 setup Vue3 提供一个setup方法,可以在其中以组合式的风格定义变量和方法。 比如一个选项式的 vue 组件: <template> <div class="person"> <h2>姓名:{{ name …
组合式和选项式 Vue2 使用的是选项式(Options)API,Vue3 推荐使用组合式(Composition)API。 关于组合式和选项式 API 的区别以及优缺点可以观看视频。 可以在 Vue3 中使用组合式 API 编写代码,但不推荐。 setup Vue3 提供一个setup方法,可以在其中以组合式的风格定义变量和方法。 比如一个选项式的 vue 组件: <template> <div class="person"> <h2>姓名:{{ name …
准备工作 进行二次开发前最好先修改一下项目中的包名和子模块名称,可以使用一个工具——若依框架修改器。 将后端代码打包后使用修改器修改包名等: 修改完后重新用 idea 打开加载,处理依赖后启动,以检查是否正常。 添加业务代码 新编写的业务代码最好单独一个模块。 添加 maven 类型的子模块sky-merchant,pom 文件中添加对框架核心模块的依赖: <dependencies> <dependency> <groupId>com.sky</gro…
系统管理 权限控制 若依实现了粗粒度(基于用户-角色)的权限控制以及细粒度(基于部门岗位)的权限控制。 涉及的表结构: 表关系: 添加菜单并实现权限管理的案例可以观看视频。 数据字典 可以用数据字典保存一些常量。涉及的表: 关于数据字典的应用示例,可以观看视频。 通知公告 可以添加任意内容的公告信息,不过公告内容的投递需要自行二次开发实现。 系统监控 数据监控 数据监控使用 Druid 的数据监控功能,需要使用 Druid 管理后台的用户名和密码登录,位于ruoyi-admin/src/main/resources…
若依(RuoYi)是一个基于 Spring Boot + Vue 的后台管理系统开发脚手架,可以节省实现权限管理菜单管理等基础功能的开发时间以提高开发效率。 环境准备 这里以单体项目开发进行说明。 集群项目后端可以选择使用 ruoyi-cloud。 代码下载 从使用 vue3 的前端代码仓库拉取前端代码: git clone git@github.com:yangzongzhuan/RuoYi-Vue3.git 从前后端分离版版本的后端代码仓库拉取后端代码: git clone https://github.com…
单数据库进行数据存储存在以下瓶颈: 瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘I0,效率较低。请求数据太多,带宽不够,网络IO瓶颈。 CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈。 分库分表的中心思想都是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的: 拆分原则 垂直分库 以表为单位,根据业务将不同的表拆分到不同的数据库中。 垂直分表 以字段为依据,根据字段属性将不同字段拆分到不同表中。 水平拆分 …
用途 通过自动配置,实现了一些国内 Spring Boot 开发时需要在 Spring Boot 框架基础上完成的一些配置工作,可以提升基于 Spring Boot 开发 Web 应用的效率。 安装 使用 Maven 进行包管理,可以从中央仓库安装依赖: <dependency> <groupId>cn.icexmoon</groupId> <artifactId>spring-easy-boot-starter</artifactId> …
ResponseBodyAdvice 对于控制器: @Controller @RequestMapping("/test") private static class TestController { @GetMapping("/hello") @ResponseBody public User hello() { return new User("Tom", 20); } } hello方法调用后的响应体: {"name":"Tom","age":20} 详细调用过程见源码。 …
Spring 中,用于加载和启动 Web Server 的容器类型是AnnotationConfigServletWebServerApplicationContext: AnnotationConfigServletWebServerApplicationContext context = new AnnotationConfigServletWebServerApplicationContext(Config.class); new CountDownLatch(1).await(); 其配置类需要至少三个 B…
鉴于篇幅原因,本篇文章仅介绍利用 Activiti 实现 OA 申请流程的关键步骤,页面设置和操作等不再赘述,更多内容可以直接查看源码。 申请流 在前文中已经实现了在系统中通过上传 BPMN2 文件的方式部署审批流。要想让业务和 Activiti 中的工作流实例进行关联,需要创建对应的业务流程实例,在这个 OA 系统中,我称其为“申请实例”,由下面下面的表结构定义: CREATE TABLE `apply_instance` ( `id` bigint unsigned NOT NULL AUTO_INCREMEN…
从本篇文章开始,演示如何在一个业务系统(这里是 OA)中嵌入 Activiti,并实现相关业务流程的审批流转。 准备工作 这里作为演示用的业务系统是我开发的一个很常见的员工管理系统,该系统使用 Vue+ElementPlus 做前端,Spring Boot 做后端。项目地址: learn-cursor/ch1。 该项目的前端使用 Cursor 开发,关于 Cursor 可以阅读我的这篇文章。 下载该项目后需要导入数据库表结构和数据,并配置连接 Redis 和数据库。前端页面需要使用 NodeJS 的包管理工具 NP…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由
提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang