工作流workflow
工作流workflow状态机解决流程问题工作流:一个可以处理复杂情况的状态机 例如,员工请假这个流程,首先员工请假提交申请,假设有项目经理进行审批,审批有两种结果:通过或者拒绝。 实现上面这个需求: 创建一张请假表,表中有员工id,请假的天数,请假的理由,项目经理的id,请假的状态status 当员工请假的时候,就自动向这张表中添加记录 然后,当项目经理登录到OA的时候,就来这张表查询自己需要的请假申请,查到之后,可以选择批准或者拒绝 接下来,员工登录之后,就可以查到自己的请假申请的审批结果 在这样的实现思路中,请假的流程我们是通过status这个字段控制的。例如: status 0 代表待审批 1 代表审批通过 2 代表拒绝 上面这个例子,status就是状态码,通过这个子弹的值来控制流程的状态,这个方式我们可以称之为使用状态机来解决流程问题,但是这种思路只能解决非常简单的流程问题。 一些复杂的流程报销审批的流程 .tojbzihsudbo{width:70%} 在这个流程中,已经没法使用status去描述这个报销走到哪一步了。如果非要用status,n...
SpringSecurity
SpringSecurity完成基于数据库的认证(登录) application.yml配置 12345678910spring: datasource: name: test url: jdbc:mysql://localhost:3306/javaboy?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: wqeq # 使用druid数据源 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver mysql,mybatis,druid依赖必须有 123456789101112131415<dependency> <groupId>org.mybatis.spring...
多线程
线程*是程序中执行的线程。 Java虚拟机允许应用程序同时执行多个执行线程。 每个线程都有优先权。 创建一个新的执行线程有两种方法。 一个是将一个类声明为Thread的子类。 这个子类应该重写run类的方法Thread 。 然后可以分配并启动子类的实例。 继承Thread类简单示例12345678910111213141516171819202122232425262728//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程//总结:注意,线程开启不一定立即执行,由cpu调度执行public class TestThread1 extends Thread { @Override public void run() { //run方法线程体 for (int i = 0; i < 20; i++) { System.out.println("我在看代码---"+i); } } publ...
MybatisPlus
分页功能配置和依赖12345678910spring: datasource: driver-class-name: com.mysql.jdbc.Driver password: wqeq type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/test08?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: rootmybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 注意:org.apache.ibatis.logging.stdout.StdOutImpl 是加入日志功能,可以返回sql语句供我们查看 maven依赖: 1234567891011121314151617181920212223242...
自定义多数据源
项目地址 准备依赖: Web Spring Web SQL MyBatis Framework MySQL Driver 关于@Retention注解作用可以看这个 @Target:注解的作用目标 配置文件 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556# 数据源配置spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver ds: # 主库数据源 master: url: jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertT...
tienchin项目笔记
项目结构:多模块(不是微服务) 整体思路: 依赖链最底层:common,提供了公用的工具,定义了统一的controller,BaseEntity实体类公共对象,以及其他的操作工具 common的上一层:framework,主要是配置类,在这里配置了系统的一些东西,例如security aop 数据源的配置等等 剩下的对应了三个的功能模块 system:系统管理,相等于具体的业务。比如系统管理中的用户管理,角色管理,菜单管理等等,包括系统监控什么的,都是写在system里面的 generator:代码生成 quartz:定时任务 ui:前端项目 admin:项目唯一的统一入口,controller都是在这里写的,上面的common等,都会被admin所依赖,这里的controller会调用对应的service 登录验证码响应结果分析: Base64字符串转图片:https://tool.jisuapi.com/base642pic.html 验证码生成接口分析: url:localhost/dev-api/captchaImage AjaxResult是一个封装的返回工具类...
点餐系统学习随记
流程分析(小程序后端) .juorrwmgjnvm{width:70%} .jjjxswphyfup{width:70%} 下单模块在首页进行扫码,入桌,然后会跳转到buy页面,点击选好了,如果没有问题的话,则跳转到confirmOrder页面,点击最下面的总计xxx,弹窗出现。经过一系列判断和对数据的处理,向/userOrder/create接口发送请求,对应后端的WxOrderUtils的createOrder方法 me页面 me界面,点击注册用户,跳转到change界面 点击提交修改按钮,对数据进行处理后,向/user/save接口发送请求。对应后端的WxUserController me页面,点击会员充值,跳转到vip页面 点击充值一、二年向/user/payVip接口发送请求,对应后端的WxUserController 在app.js里,通过向/use,r/getUserInfo接口发送请求,拿到用户的数据,对应后端的WxUserController me...
2022操作系统复习
操作系统引论定义 os是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充 主要作用提高利用率并为用户和应用程序提供一个简单的接口,便于用户使用 大量的应用软件,都直接依赖于操作系统的支持,取得它所提供的服务 os的目标 方便性 有效性 可扩充性 开放性 os的作用 作为用户和计算机硬件系统之间的接口 作为计算机系统资源的管理者,资源分为【处理机、存储器、IO设备、文件(数据和程序)】 实现了对计算机资源的抽象 操作系统的特征基本特征 并发 共享 虚拟 异步 主要功能处理机管理功能 进程控制 进程同步 进程通信 调度 存储器管理功能 内存分配 内存保护 地址映射 内存扩充 设备管理功能 缓冲管理 设备分配 设备处理 文件管理功能 文件存储空间管理 目录管理 文件读写管理和保护 os和用户之间的接口 用户接口 程序接口 进程的描述和控制程序顺序执行时的特征 顺序性 封闭性 可再现性 并发执行的特征 间断性 失去封闭性 不可再现性 进程和程序的区别 进程 程序 动态 静态 是程序的执行 是有序代码的集合 独立的运行单位,能与其他的进程并...
pictures
.lbniwhuupbng{width:70%} .dfkqsfoikdhm{width:70%} 
如何使用Docker,安装java调试环境的docker
Docker的安装 查看系统的内核 123[roo@www ~]$ uname -r3.10.0-1160.59.1.el7.x86_64 .ngziyfyooevp{width:70%} 查看系统配置 1cat /etc/os-release .btynbyscjfee{width:70%} 卸载旧的版本 123456789[root@www ~]# yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine .jeaevwhsgbyr{wid...


