Snowy框架使用及分析

Snowy框架使用及分析

本文使用的snowy版本为3.0.2

简介

**Snowy(SnowyAdmin)**是国内首个国密前后端分离快速开发平台,集成国密加解密插件, 软件层面完全符合等保测评要求,同时实现国产化机型、中间件、数据库适配, 技术框架与密码结合,让更多的人认识密码,使用密码;更是让前后分离“密”不可分。

Snowy中加密的方式为SM4加密,SM4是中国国家密码管理局标准的对称加密算法,具有高安全性和良好的性能,被广泛用于符合中国国家安全标准的应用中。

snowy整体模块如下:

snowy
|-snowy-admin-web == 前端
|-public == 基础静态文件
|-src == 前端源代码
|-api == API接口转发
|-assets == 静态文件
|-components == VUE组件
|-config == 基础配置
|-layout == 基础布局
|-locales == 多语言配置
|-router == 基础路由配置
|-store == Pinia缓存配置
|-style == 样式风格配置
|-utils == 工具类
|-views == 所有视图界面
|-snowy-common == 基础通用模块
|-snowy-plugin == 插件包
|-snowy-plugin-auth == 登录鉴权插件
|-snowy-plugin-biz == 业务功能插件
|-snowy-plugin-client == C端功能插件
|-snowy-plugin-dev == 开发工具插件
|-snowy-plugin-gen == 代码生成插件
|-snowy-plugin-mobile == 移动端管理插件
|-snowy-plugin-sys == 系统功能插件
|-snowy-plugin-api == 插件api包
|-snowy-plugin-auth-api == 登录鉴权插件api接口
|-snowy-plugin-biz-api == 业务功能插件api接口
|-snowy-plugin-client-api == C端功能插件api接口
|-snowy-plugin-dev-api == 开发工具插件api接口
|-snowy-plugin-gen == 代码生成插件api接口
|-snowy-plugin-mobile == 移动端管理插件api接口
|-snowy-plugin-sys-api == 系统功能插件api接口
|-snowy-web-app == 主启动模块

本文讲述后端的使用过程。

模块分块讲解

snowy-common

此模块主要是通用模块的说明以及部分数据库的表中字段的说明,这里讲述比较重要的类。

CommonCacheOperator

在这里插入图片描述

主要的作用就是操作所有的redis缓存数据,且通过源码可知再服务启动时会将数据库的资源加载到redis缓存中。

DeleteFlagEnum

在这里插入图片描述

表明数据库的数据逻辑删除标识,且缓存的是String类型的数据NOT_DELETE以及DELETED.

CommonException

在这里插入图片描述

定义全局异常,如果系统内部报错,则会进行CommonException异常抛出。

CommonPageRequest

在这里插入图片描述

通用分页Util,其中自动读取request请求中的对应的参数数据。主要的体现在CommonServletUtil.getParamFromRequest(PAGE_SIZE_PARAM_NAME);前端分页参数为

size:表示每页条数

current:表示第几页

CommonEntity

在这里插入图片描述

表示通用的数据库字段

注意事项

通用数据库字段,都是系统生成的且字段根据用户信息进行填充。

CommonResult

在这里插入图片描述

通用后端返回数据类型,包含code、msg、data。

在这里插入图片描述

通用工具类,具体使用可以根据业务需求,自行查看使用

id的生成需要根据自己的情况进行生成,我查看源码也未找到id是否可以不进行设置自动生成。如果有大佬知道请评论告诉我一下。

snowy-plugin

snowy基于插件式开发

snowy-plugin-auth

snowy框架集成sa-token完成项目的登录鉴权

SaToken的鉴权模式原理极其简单易懂,核心逻辑就是判断一个账号是否拥有指定权限,深入到底层数据中,就是每个账号都会拥有一个权限码集合,框架来校验这个集合中是否包含指定的权限码。

snowy-plugin-gen

此模块为代码生成器模块,该系统使用beetl模板引擎完善代码生成的过程,具体与velocity引擎大致差不多,可以查看 https://blog.youkuaiyun.com/m0_56512023/article/details/139417671 进行学习。

使用

1.创建数据库sql(需保证包含通用字段)

在这里插入图片描述

此为代码生成器,然后进行字段编写即可。

2.@Schema

是snowy自己封装的一个swagger注解,进行前后端交互,数据的介绍。

3.简单使用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

一般情况需满足系统规则创建的新增、修改的实体命名需按照系统类似进行命名,比如BizOrgAddParam、BizOrgUpdateParam,编写规则最好按照代码规则编写,具体的增删改查都请查看源码中某一模块的编写方式进行编写。

代码生成器生成后只需要修改部分代码,以及根据业务需求增加模块即可。

### Snowy框架部署指南 Snowy 是一款基于 Spring Boot 和 Vue 的快速开发平台,旨在帮助企业高效构建业务系统。以下是有关其部署的相关说明: #### 1. 环境准备 在开始部署之前,请确保已安装以下工具和环境: - JDK 1.8 或更高版本[^4] - Maven 3.x 版本用于项目依赖管理[^5] - MySQL 数据库支持存储数据表结构以及运行时的数据记录[^6] #### 2. 下载源码并初始化数据库 从官方仓库克隆最新版的 Snowy 源码到本地机器上,并按照文档中的 SQL 脚本完成数据库初始化工作。 ```bash git clone https://github.com/jeecgboot/snowy.git cd snowy mvn clean install -DskipTests=true ``` 上述命令会拉取代码至当前目录下同时跳过单元测试环节加快编译速度[^7]。 #### 3. 修改配置文件 进入项目的 resources 文件夹找到 application.yml ,调整其中关于数据库连接字符串、端口号等相关参数设置以适配实际生产环境需求[^8]: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/snowy?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 username: root password: your_password_here ``` 注意替换 `your_password_here` 字段为你自己的MySQL密码[^9]。 #### 4. 启动服务 通过 IDE (如 IntelliJ IDEA)或者命令行方式启动应用主类 Application.java 。当控制台打印出如下日志时表示成功启动: ``` Tomcat started on port(s): 8080 (http) with context path '' ``` 此时可以访问默认首页验证是否正常运作 http://localhost:8080/login.html[^10]。 #### 5. 前后端分离模式下的额外步骤 对于采用前后端完全分离架构的应用场景,则需单独打包前端工程并通过 Nginx 反向代理实现统一入口访问[^11]: ```nginx location / { proxy_pass http://localhost:8080; } ``` 最后重启 Nginx 生效更改即可[^12]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值