FrameWork
简介 本文章主要记录在平时的编码中,对 SpringBoot 后台项目框架的一些优化,完善项目的功能,例如定时任务、AOP 日志切面、DTO 对象的校验等等,都是围绕着提高后台项目完善框架
Quartz功能效果展示实现
Quartz 动态定时任务器,在时间的开发中,可能需要去读取书库表中的记录,然后根据 cron 表达式 去执行对应的任务
比如测试平台会需要 每天早上或指定的时间去执行我们的测试计划,这个时候就可以需要去设计动态定时定时器了
在实际的工作中,我们需要给具体的具体的任务执行代码逻辑(如果针对自动化测试,我们可以在表上加一个 plantId 这个 Id 下有所有需要执行的用例,这样执行 task 的时候把 plantId 传入进来即可)
依赖 quartz quartz-jobs
继承 对外开放增删改查 task 的接口,编辑后,更新系统中的 job
待补充具体实现细节—>待填坑
AOP 日志切面功能效果展示实现
在平时的测试工作中,如果遇到问题是需要我们去查看后台日志,看看有什么报错,或者具体调用一个接口的时候传递的参数是什么,执行的 SQL 是什么,以及响 ...
Dockerfile
简介Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),用于构建镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。
引用站外地址
Docker构建镜像
https://blog.csdn.net/junkaione/article/details/125911679
准备工作下载插件配置连接信息
这里就不用自带绑定的 docker 插件了,因为要开放 docker 2375 的端口,有未授权漏洞风险(个人建议不要用这种,我之前一台腾讯云的开启了后,第二天就被攻击了,官方短信提示机器在执行挖矿)
Alibaba Cloud Toolkit( 阿里云开发者插件,简称:Cloud Toolkit )是一个面向 IntelliJ IDEA、Eclipse 和 Maven 平台的免费插件,旨在帮助开发者在本地开发平台(IDE)中更便捷的使用阿里云,从而高效地开发、测试 ...
优化配置
简介记录一些能提升生产力的优化配置,所有配置均在 Mac 操作系统完成,其它系统未涉及,其次仅做个人记录,不做特定某项的专属记录
jenvjenv GITHub
配置参考
简介
jenv 是一个可以快速切换 JDK 版本的利器,比较适合需要在多个版本下去执行不同的程序,我个人而言有些程序需要用 JDK 8 运行,但是自己平时写的一些东西又用的 JDK 17,jenv 就能满足我的需求,对 Java 版本进行管理,类似于前端的 NVM 对 node 包进行管理
安装配置123456789# 通过 brew 进行安装brew install jenv# echo $0 查看当前用的是 bash 还是 zshecho 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(jenv init -)"' >> ~/.zshrc# 配置立即生效 source ~/.zshrc# 插件开启jenv enable-p ...
VUE3上
简介Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
参考资料
Vite创建项目
Vue3 推荐的脚手架是 vite ,据说编译打包什么的更加快,所以这里我们就用 vite 开始搭建项目,就不用 vue-cli 来搭建了
Vite HMR 速度快到惊人的 [模块热更新(HMR)
采用 Rollup打包 它使用 Rollup 打包你的代码,并且它是预配置的 并且支持大部分rollup插件
安装依赖:yarn (进入项目根目录后执行)
启动项目:可以用截图中的 yarn dev 也可直接用 vite
123456# yarn 创建项目yarn create vite# npm 创建项目npm init vite@latest# pnpm 创建项目pnpm create vite
...
TypeScript 下
简介TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。
参考资料
tsconfig.json 文件
tsc --init命令可生成 tsconfig.json 文件
总览
具体使用可见查官网配置简介
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119{ "compilerOptions": { &qu ...
TypeScript 上
简介TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。
参考资料
快速入门简介
为什么要使用 TypeScript? 因为现在主流的前端框架都采用 TS 了,比如我们常见的 Vue React Angular,已然成为了一种趋势
TS是JS的超集,所以JS基础的类型都包含在内
网上流传着一句话 始于 JavaScript,终于 JavaScript 因为浏览器是不认识 TypeScript 所以我们会把 TS 编译成 JS 最终运行的还是 js 文件
起步安装
以下安装均采用 yarn 进行管理,如果是 npm 替换对应的命令即可
安装 @types/node ts-node 是为了在开发环境直接使用命令运行 ts 文件,因为 node 不认识 ts ,如果不安装的话需要先用 tsc xxx.ts 进行编译 然后 node xxx.js 比较麻烦
123456789# 全局安 ...
CSS
简介CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等模块
参考资料
CSS简介
css 也叫样式层叠表,是一个控制与显示 html 元素的声明式语言,从而达到控制网页的显示效果
html 和 css 就是一对组合
选择器:选择器是 用于选择 html 元素用的,即表示这个样式对 哪个 html 元素有效
CSS 语法结构12345h1 { width: 600px; height: 1200px; margin: auto;}
CSS 样式类型
CSS 样式类型包括三种:内联样式、内部样式、外部样式
内联样式
内联样式(Inline Style),也叫内嵌样式
内联样式是直接写在 html 元素上的,没有选择器,直接使用 style 属性声明,该样式仅仅对当前的元素有效
内部样式
内部样式表(Internal Style. Sheet)
内部样式是写在 HTML 文件的 &l ...
HTML
简介HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。HTML产生于1990年,1997年HTML4成为互联网标准,并广泛应用于互联网应用的开发。
参考资料
初识HTML简介
什么是HTML? –> HTML是Hyper Text Markup Language的缩写,中文:超文本标记语言
HTML并不是一门编程语言 编程语言的关键是逻辑,例如有条件选择 if else
HTML是用来构建网页元素的标记语言 文本段落、表格、图片
目前看到的所有网站,都是由 html 元素构成
编程语言例如们 javaScript 用来写页面逻辑、调用接口、操作&连接数据库等
在做 WEB 开发时,HTML是最基础和最必须要了解的 只使用HTML就可以构建简单网页
HTML+CSS+JavaScript:组成了WEB开发的基石
把整个人当做成一个WEB
HTML: 就是由各种元素组成的人的身体 body 手、脚、眼睛、耳朵 各种不同的标签
CSS: 决定人身体的外观 ...
Spring Security 5.X
简介Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实上的标准。
Spring Security是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足自定义要求。
参考视频
总览需求环境说明介绍对比Shiro快速入门
实现前后端分离,按钮级权限控制(接口权限控制)
围绕 RBAC 权限模型进行设计
IDEA 2022.1
JDK 17.0.2
Gradle 7.4.1
SpringBoot 2.6.4
Spring Security 5.6.2
Spring Security 是一个功能强大且可高度自定义的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实上的标准。
Spring Security 是一个专注于为Java应用程序提供身份验证和授权的框架。与所有Spring项目一样,Spring Security的真正强大之处在于它可以轻松扩展以满足自定义要求。
一般来说中大型的项目都是使用S ...
aliOss
简介阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,可提供99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。
参考资料
阿里 OSS简介
阿里云对象存储OSS(Object Storage Service)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音视频在内的各类数据文件
创建Bucket,并将文件上传至Bucket。上传完成后,将文件(Object)下载至本地或者通过生成签名URL的方式将文件分享给第三方,供其下载或预览
入口
登录阿里云控制台 【产品】-【存储】-【对象存储 OSS】
开通 OSS
价格
当前截图时价格,我主要是做一些头像照片的存储,可以选低频的,一个月估计不会到 1 个 G,8 分钱就能解决
前置准备创建 Bucket
地域:这里建议选择和自己服务器节点近的地域
存储类型:选择低频访问(便宜点,这个根据实际情况,如果访问量比较大的话还是选标准)
同城冗余存储:不开通要 ...