# web-module **Repository Path**: lanjf2000/web-module ## Basic Information - **Project Name**: web-module - **Description**: 一个专注于Web组件开发的开源项目,提供模块化、可复用的前端解决方案,支持快速构建现代网页应用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-28 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目规划和构想 创建本仓库的初衷,基于以前做过的项目,总结部分业务代码的组件,项目基于Springboot、Spring Security、Mybatis-Plus。可以自行增加Spring Cloud全家桶 初步规划的功能,包括: 1. 核心代码,包括dao层,service层,Controller层的基类。 2. 缓存通用接口。对接Redis,ecache3 3. 验证码组件。 4. 安全配置 5. 加密配置 6. 日志组件 7. poi 8. 用户权限 9. email 10. 消息(短信、站内消息、微信、钉钉等) 11. 接口(待定,还在构想) # 项目编译顺序 1. 先编译 `web-module-bom` 模块,将依赖`install`到本地仓库 2. 再执行`web-module-parent` 模块,`package`构建项目。 # 一、 打版本SNAPSHOT->RELEASE - 将项目中的所有SNAPSHOT更换为RELEASE ``` ① 修改源码:按需求将插件源码调整后将源码提交;(commit,此操作是将源码的修改信息提交到源码仓库) ② 打新版本:项目的根目录(web-module-parent)下执行命令: cmd —>mvn versions:set -DnewVersion=1.0.2(正式打包时将演示版本号“1.0.2”替换成要打的版本号) 成功后所有插件中的pom文件记录的版本号都会变成新打的版本号 注:此时需要将web-module-bom/pom.xml文件中的版本号手动修改为 “新打的版本号”(由于依赖问题,该文件中的版本号没有自动更新) ③ deploy到私服:确定无误后,将对应的jar包以及pom推到私服上,同样是在(web-module-parent)目录下执行命令cmd ---->mvn deploy -U -Dmaven.test.skip=true 或 mvn deploy -U -DskipTests ``` *注意:*在第一步替换打包版本后,对web-module-bom/pom.xml文件中的版本号,需要手动修订到相同的版本号 # 二、 当前代码还原成SNAPSHOT版本(将源码所有因打包而修改的pom文件进行回退即可,或使用下方命令的方式进行操作;) - 将项目中的所有RELEASE更换为SNAPSHOT ``` ① 项目根目录下执行cmd ----> mvn versions:set -DnewVersion=2023.07-jdk17-SNAPSHOT (可替换成要打的版本) ② 确定无误后,将对应的jar包以及pom推到私服上cmd ---->mvn deploy –U –Dmaven.test.skip=true ③ 确定成功后, 提交代码 ``` # 三、版本引用(在对应的项目工程的pom文件中指定需要使用的插件版本号) - 参考:[聊聊 maven的版本号version 以及maven指定版本号范围写法](https://blog.csdn.net/agonie201218/article/details/130373845) * 项目中的版本号依赖,可以采用版本范围的写法: ```pom.xml [2022-SNAPSHOT,2022] 如果2022版本不存在则使用2022-SNAPSHOT,2022版本存在则使用2022版本 ``` # 项目包说明 web-module-core pom工程下,有3个基础插件: - core-base: 基于hutool、lombok、jackson组件,只放基础java类,例如:异常类,classUtil或者StringUtil工具类,不依赖更多第三方组件,比较干净的类。 - core-service: 依赖springboot-start启动类,最初的目的是管理service常用的一些类或方法,或者像一些 ConfigurationProperties、spring-boot-autoconfigure等 配置类在这里定义,未来所有的配置类,都会放这里,所有自定义的变量,都会以“system.default”开头的yml配置开头,方便统一管理。 - core-controller: 放和controller相关的工具类,例如统一消息反馈Message对象,就在这里,所有controller里面的方法,统一返回Message对象,所有的service返回的消息,都通过Message对象封装。 plugins-toolkit-sql,比较独立的插件,只基于core-base、hutool、jackson、jsqlparser组件,没有更多的组件了,这个插件主要是用于sql的定制化,BeanMeta类也是在这个工具包里面定义的。主要是为了可以将此插件单独为其他第三方项目提供,不需要更多的依赖。 plugins-toolkit-jdbcPool 基于plugins-toolkit-sql,简单的封装了jdbc的一些操作。 plugins-toolkit-cache 基于springboot-web项目封装了一些redis、caffeine、ehcache等缓存插件工具。 plugins-toolkit-field-role,只做“字段角色识别”,不依赖 Spring Boot 核心,YML 配置 + SPI 扩展,干净可插拔 plugins-jdbc-pool-spring-boot-starter,整合了plugins-toolkit-sql、plugins-toolkit-jdbcPool 、web-module-core,用于自己项目中,形成类似一套mybatis-plus的工具组合包,用于自己项目的开发