Files
my-spring/README.md
2026-03-19 10:57:24 +08:00

301 lines
20 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p align="center">
<img alt="JeeSite" src="https://jeesite.com/assets/images/logo.png" width="120" height="120" style="margin-bottom: 10px;">
</p>
<h3 align="center" style="margin:30px 0 30px;font-weight:bold;font-size:30px;">快速开发平台 - Spring Boot 3</h3>
<p align="center">
<a href="https://spring.io/projects/spring-boot" target="__blank"><img alt="SpringBoot-V3.5 or 2.7" src="https://img.shields.io/badge/SpringBoot-V3.5 or 2.7-blue.svg"></a>
<a href="https://v3.cn.vuejs.org/" target="__blank"><img alt="TypeScript-Vue3" src="https://img.shields.io/badge/TypeScript-Vue3-green.svg"></a>
<a href="https://jeesite.com/docs/upgrade/" target="__blank"><img alt="JeeSite-V5.x" src="https://img.shields.io/badge/JeeSite-V5.x-success.svg"></a>
<a href="https://gitee.com/thinkgem/jeesite5" target="__blank"><img alt="star" src="https://gitee.com/thinkgem/jeesite5/badge/star.svg?theme=dark"></a>
<a href="https://gitee.com/thinkgem/jeesite-vue" target="__blank"><img alt="star" src="https://gitee.com/thinkgem/jeesite-vue/badge/star.svg?theme=dark"></a>
<a href="https://gitee.com/thinkgem/jeesite" target="__blank"><img alt="star" src="https://gitee.com/thinkgem/jeesite/badge/star.svg?theme=gvp"></a>
<a href="https://gitcode.com/thinkgem/jeesite" target="__blank"><img alt="star" src="https://gitcode.com/thinkgem/jeesite/star/badge.svg"></a>
</p>
------
<div align="center">
如果你喜欢 JeeSite请给她一个 ⭐️ Star您的支持将是我们前行的动力。
</div>
------
## 技术交流
* 官方网站:<https://jeesite.com>
* 使用文档:<https://jeesite.com/docs>
* 问题反馈:<http://jeesite.net> [【新手必读】](https://gitee.com/thinkgem/jeesite5/issues/I18ARR)
* 需求收集:<https://gitee.com/thinkgem/jeesite5/issues/new>
* 联系我们:<http://s.jeesite.com>
* 关注微信公众号,了解最新动态:
<p style="padding-left:40px">  
<img alt="JeeSite微信公众号" src="https://jeesite.com/assets/images/mp.png" width="200">
</p>
* QQ 群:`127515876``209330483``223507718``709534275``730390092``1373527``183903863(外包)`
* 微信群:如果二维码过期,请尝试刷新图片,或者添加客服微信 jeesitex 邀请您进群
<p style="padding-left:40px"><a href="https://jeesite.com/assets/images/wxg_cur.png" target="_blank">  
<img alt="JeeSite微信群" src="https://jeesite.com/assets/images/wxg_cur.png" width="200"/></a>
</p>
* 源码仓库地址:
[Gitee](https://gitee.com/thinkgem/jeesite5)、
[GitCode](https://gitcode.com/thinkgem/jeesite5)、
[GitHub](https://github.com/thinkgem/jeesite5)
* 分离版源码仓库地址:
[Gitee](https://gitee.com/thinkgem/jeesite-vue)、
[GitCode](https://gitcode.com/thinkgem/jeesite-vue)、
[GitHub](https://github.com/thinkgem/jeesite-vue)
* 源码合集仓库地址:
[GVP](https://gitee.com/thinkgem/jeesite/tree/v5.springboot3)、
[G-Star](https://gitcode.com/thinkgem/jeesite/tree/v5.springboot3)、
[GitHub](https://github.com/thinkgem/jeesite/tree/v5.springboot3)
## 平台介绍
* JeeSite 快速开发平台,低代码,轻量级,不仅仅是一个后台开发框架,它是一个企业级快速开发解决方案,后端基于经典组合 Spring Boot、Shiro、MyBatis前端采用分离版 Vue3、Vite、Ant Design Vue、TypeScript、Vben Admin 最先进技术栈,或者 Beetl、Bootstrap、AdminLTE 经典开发模式。
* 提供在线数据源管理、数据表建模、代码生成等功能,可自动创建业务模块代码工程和微服务模块代码工程,自动生成前端代码和后端代码;包括核心功能模块如:组织机构、用户、角色、岗位、管理员、权限审计、菜单及按钮权限、数据权限、模块管理、系统参数、字典管理、系统监控、数据监控等;扩展功能如:工作流引擎、内容管理、消息推送、单点登录、第三方登录、在线作业调度、对象存储、可视化数据大屏、报表设计器、在线文件预览、国际化、全文检索、统一认证服务等。
* 本平台采用松耦合设计,真正的轻量级,微内核,快速部署,插件架构,模块增减便捷,支持扩展 SaaS 架构、集群部署、读写分离、分库分表、Spring Cloud 微服务架构;并内置了众多账号安全设置、密码策略、系统访问限制等安全解决方案,支持等保评测。
* 本平台专注于为初级研发人员提供强大的支持,使他们能够高效、快速地开发出复杂的业务功能,同时为中高级人员腾出宝贵的时间,专注于更具战略性和创新性的任务。我们致力于让开发者能够全心投入业务逻辑中,而将繁琐的技术细节交由平台来封装处理。这不仅降低了技术实现的难度,还确保了系统架构的稳定性和安全性,进而帮助企业节省人力成本、缩短项目周期,并提高整体软件的安全性和质量。
* 2013 年发布以来已被广大爱好者用到了企业、政府、医疗、金融、互联网等各个领域中,拥有:精良架构、易于扩展、大众思维的设计模式,工匠精神,用心打磨每一个细节,深入开发者的内心,并荣获开源中国《最受欢迎中国开源软件》多次奖项,期间也帮助了不少刚毕业的大学生,教师作为入门教材,快速的去实践。
* 2019 年换代升级,我们结合了多年总结和经验,以及各方面的应用案例,对架构完成了一次全部重构,也纳入很多新的思想。不管是从开发者模式、底层架构、逻辑处理还是到用户界面,用户交互体验上都有很大的进步,在不忘学习成本、提高开发效率的情况下,安全方面也做和很多工作,包括:身份认证、密码策略、安全审计、日志收集等众多安全选项供您选择。努力为大中小微企业打造全方位企业级快速开发解决方案。
* 2021 年终发布 Vue3 的前后分离版本,使得 JeeSite 拥有同一个后台服务 Web 来支撑分离版和全栈版两套前端技术栈。
* 对接 OpenAPI、Ollama、DeepSeek 等热门 AI 大模型,凭借检索增强生成 RAG 技术,为企业知识库打造专属智能对话。
* 提供大模型 Tool 本地工具调用及 MCP 服务端和客户端工具调用,助力大模型与您的业务深度融合,实现高效交互。
* 支持国产化软件和硬件环境,如国产芯片、操作系统、数据库、中间件、国密算法等。
## 核心优势
* JeeSite 非常易于二次开发,可控性强。整体架构清晰、技术栈稳定且先进,源代码规范严谨。所采用的均为业界通用、社区活跃的经典技术,经典技术会的人多、学习成本低、无论是维护还是扩展都十分便捷,系统安全性和稳定性也得到了充分保障。
* JeeSite 功能全面,知识点非常多,也非常少。这看似矛盾,实则源于其“大道至简”的设计理念:功能模块和组件的设计,使用的都是一些通用的技术,通俗直观的设计风格,绝大多数开发者都能轻松掌握,所以只要掌握这些组件用法,即可高效完成业务系统的开发。
* JeeSite 在架构设计、工具调用、操作体验、代码整洁、技术规范以及系统安全等方面投入了大量精力。这些往往属于“隐形投入”——虽然用户未必一眼可见,却对系统的稳定性、可维护性和长期发展至关重要。然而,许多产品更倾向于追求表面光鲜的界面和看似炫目的功能,不愿意在用户看不见的地方投入较多的研发经费,而忽视了这些深层次的基础建设。
* JeeSite 是一个低代码开发平台具备高度的封装性与出色的扩展能力。这里的“封装”并非限制您的自由而是在提供开箱即用便捷性的同时保留了充分的灵活性。当平台暂未覆盖某些特定功能时JeeSite 会通过清晰的扩展接口和原生调用方式,让您轻松实现自定义需求。
* 许多开发者都在使用 Spring 框架,并学习其优秀的设计理念——尤其是它强大的扩展机制。但试想一下:有多少人真正去修改过 Spring 的源码?即便有人这么做了,一旦框架升级,往往就会陷入兼容性困境,甚至导致系统难以维护。这样的例子屡见不鲜。
* 正因如此JeeSite 在设计之初就高度重视这一点我们坚持“不侵入、可扩展”的原则确保您在享受高效开发的同时无需担心未来升级带来的麻烦。JeeSite 的扩展能力,正是为了帮您彻底摆脱这类后顾之忧。
* 为什么说 JeeSite 比较易于学习JeeSite 很好的把握了设计的 “度”,避免过度设计的情况。过度设计是在产品设计过程中忽略了产品和用户的实际需求,反而带来了不必要的复杂性,而忽略了系统的学习、开发和维护成本。
* JeeSite 商业版基于社区版扩展,我们维护一套代码库,有效避免资源浪费和重复造轮子,不仅加速了功能迭代与优化、保障版本稳定性输出,还能快速反哺社区,推动创新与生态共赢,确保项目健康发展;即便您使用社区版,也无需担忧版本停滞及相关衍生问题。
------
* 至今 JeeSite 平台架构已经非常稳定,我们持续升级,并不失架构的先进性。
* JeeSite 精益求精,用心打磨每一个细节,界面 UI 操作便捷,体验性好。
* JeeSite 是一个专业的平台,是一个可以让您,用着省心的平台。
* 社区版基于 Apache License 2.0 开源协议,永久免费使用。
### 架构特点及安全方面的优势:<https://jeesite.com/docs/feature/>
## 技术选型
* 主框架Spring Boot 3.5、Spring Framework 6、Apache Shiro 2、J2Cache
* 持久层Apache MyBatis 3.5、Hibernate Validator 8、Alibaba Druid 1.2
* 分离版Node.js、TypeScript、Vue3、Vite、Ant Design Vue、Vue Vben Admin
* 经典版Beetl 3.20HTML、jQuery 3.7、Bootstrap 3.4、AdminLTE 2.4
* 分离版:支持所有现代浏览器,如:谷歌 Chrome 87+、微软 Edge、火狐、国产浏览器 等
* 经典版:支持 IE10 和以上版本,以及其他所有现代浏览器,如:谷歌、火狐、国产浏览器 等
* 工作流引擎Flowable 7.1、符合 BPMN 规范、在线流程设计器、中国式流程、退回、撤回、自由流
* 技术选型(详细)已支持数据库:<https://jeesite.com/docs/technology/>
* JeeSite Vue 前后分离版:<https://gitee.com/thinkgem/jeesite-vue>
* Spring Boot 3.x 版本:<https://gitee.com/thinkgem/jeesite5/tree/v5.springboot3>
* Spring Boot 2.x 版本:<https://gitee.com/thinkgem/jeesite5/tree/v5.springboot2>
## 更多介绍
* 架构特点:<https://jeesite.com/docs/feature/>
* 内置功能:<https://jeesite.com/docs/function/>
* 目录结构:<https://jeesite.com/docs/catalog/>
* 参数配置:<https://jeesite.com/docs/config/>
* 开发规范:<https://jeesite.com/docs/standard/>
* 数表设计:<https://jeesite.com/docs/treetable/>
* 代码生成:<https://jeesite.com/docs/code-gen/>
## 产品列表
* JeeSite 源码仓库:<https://gitee.com/thinkgem/jeesite5>
* JeeSite Vue 前端源码:<https://gitee.com/thinkgem/jeesite-vue>
* JeeSite Cloud 微服务:<https://gitee.com/thinkgem/jeesite-cloud>
* JeeSite 跨平台手机端:<https://gitee.com/thinkgem/jeesite-uniapp>
* JeeSite 客户端安装程序:<https://gitee.com/thinkgem/jeesite-client>
* 内外网中间件:<https://my.oschina.net/thinkgem/blog/4624519>
* 统一认证平台:<https://jeesite.com/docs/oauth2-server>
## 快速体验
### 在线演示
1. 分离版地址:<https://vue.jeesite.com>
2. 经典版地址:<https://demo.jeesite.com>
### 快速运行
1. 环境准备:[Docker](https://www.docker.com)
2. 根据您的操作系统,选择以下对应命令一键拉取 Docker 镜像并启动 JeeSite
* Linux 或 macOS
```sh
docker pull crpi-u3zm0t8trv68xpyx.cn-qingdao.personal.cr.aliyuncs.com/thinkgem/jeesite:latest && docker run --name js5 -p 8980:8980 -d -v ~/jeesite-data:/data crpi-u3zm0t8trv68xpyx.cn-qingdao.personal.cr.aliyuncs.com/thinkgem/jeesite:latest && docker logs -f js5
```
* Windows
```cmd
cmd /c "docker pull crpi-u3zm0t8trv68xpyx.cn-qingdao.personal.cr.aliyuncs.com/thinkgem/jeesite:latest && docker run --name js5 -p 8980:8980 -d -v %USERPROFILE%\jeesite-data:/data crpi-u3zm0t8trv68xpyx.cn-qingdao.personal.cr.aliyuncs.com/thinkgem/jeesite:latest && docker logs -f js5"
```
> 容器启动后,系统数据将持久化保存在本地 ~/jeesite-dataLinux/macOS或 %USERPROFILE%\jeesite-dataWindows目录中。
3. Vue分离版本地址<http://127.0.0.1:8980/vue/login>
4. 全栈版本地址:<http://127.0.0.1:8980/a/login>
5. 初始登录账号:(管理员)`system`,密码:`admin`
### 本地编译运行
**1使用内嵌数据库**
1. 免安装数据库,使用内嵌 H2 DB、包含 Vue 和 全栈双版本
2. 环境准备:`JDK 17 或更高版本``Maven 3.8+`、无需准备数据库
3. 下载源码:<https://gitee.com/thinkgem/jeesite5/repository/archive/v5.springboot3.zip> 并解压
4. 执行脚本:`/web-fast/bin/run-tomcat.bat(sh)` 启动服务即可(无需手动建库,自动初始化数据库)
5. Vue分离版本地址<http://127.0.0.1:8980/vue/login>
6. 全栈版本地址:<http://127.0.0.1:8980/a/login>
7. 初始登录账号:(管理员)`system`,密码:`admin`
8. 部署常见问题:<https://jeesite.com/docs/faq/>
**2使用 MySQL 或其它数据库:**
1. 环境准备:`JDK 17+``Maven 3.8+`、使用 `MySQL 8.0+` 数据库、[其它数据库](https://jeesite.com/docs/technology/#_8、已支持数据库)
2. 下载源码:<https://gitee.com/thinkgem/jeesite5/repository/archive/v5.springboot3.zip> 并解压
3. 打开文件:`/web/src/main/resources/config/application.yml` 配置JDBC连接建立一个新库
4. 执行脚本:`/web/bin/init-data.bat(sh)` 初始化数据库(自动往新库里创建表和初始数据)
5. 执行脚本:`/web/bin/run-tomcat.bat(sh)` 启动服务即可
6. 浏览器访问:<http://127.0.0.1:8980/js> 账号 system 密码 admin
7. 部署常见问题:<https://jeesite.com/docs/faq/>
8. 分离端安装:<https://jeesite.com/docs/vue-install-deploy/>
9. 分离端常见问题:<https://jeesite.com/docs/vue-faq/>
### 开发环境部署
1. 部署运行文档:<https://jeesite.com/docs/install-deploy/>
2. 部署常见问题:<https://jeesite.com/docs/faq/>
3. 分离端运行文档:<https://jeesite.com/docs/vue-install-deploy/>
4. 分离端常见问题:<https://jeesite.com/docs/vue-faq/>
## 学习文档
* 库表生成、代码生成:<https://jeesite.com/docs/code-gen/>
* 菜单权限、按钮权限:<https://jeesite.com/docs/permi-shiro/>
* 数据权限、库事务:<https://jeesite.com/docs/service-datascope/#数据权限>
* 表结构、数据字典:<https://jeesite.com/docs/code-gen/#表结构数据字典>
* 持久层框架、SQL<https://jeesite.com/docs/dao-mybatis/>
* 后端常用工具:<https://jeesite.com/docs/sys-utils/>
**分离版**
* 版本介绍:<https://jeesite.com/docs/jeesite-vue/>
* 源码解析:<https://jeesite.com/docs/vue-crud-view/>
* 表单组件:<https://jeesite.com/docs/vue-basic-form/>
* 表格组件:<https://jeesite.com/docs/vue-basic-table/>
* 参数配置:<https://jeesite.com/docs/vue-settings/>
* 常用组件:<https://jeesite.com/docs/vue-comp/>
* 前端权限:<https://jeesite.com/docs/vue-auth/>
* 图标组件:<https://jeesite.com/docs/vue-icon/>
* 前端样式库:<https://jeesite.com/docs/vue-style/>
* 多语言国际化:<https://jeesite.com/docs/vue-i18n/>
**经典版**
* 表单组件:<https://jeesite.com/docs/views-beetl/>
* 表格组件:<https://jeesite.com/docs/datagrid/>
* 常用工具:<https://jeesite.com/docs/jeesite-js/>
* 自定义主题:<https://jeesite.com/docs/custom-views/>
## 更多文档
* AI、CMS、RAG、Tool、MCP 人工智能助手:<https://jeesite.com/docs/ai-cms>
* BPM 业务流程引擎Flowable<https://jeesite.com/docs/bpm/>
* CMS 多站点内容管理模块:<https://jeesite.com/docs/cms/>
* 消息推送消息提醒:<https://jeesite.com/docs/msg-push-use/>
* 对象存储模块:<https://jeesite.com/docs/oss-client>
* 单点登录模块:<https://jeesite.com/docs/sso-cas>
* 在线任务调度:<https://jeesite.com/docs/job/>
* 大屏设计器:<https://jeesite.com/docs/visual/>
* 报表设计器:<https://jeesite.com/docs/ureport/>
* 文件管理分享:<https://jeesite.com/docs/filemanager/>
* 文件在线预览:<https://jeesite.com/docs/filepreview/>
* 集群、高可用架构:<https://jeesite.com/docs/cluster/>
* SaaS 多租户架构:<https://jeesite.com/docs/saas-corp-use/>
* 读写分离分片分表:<https://jeesite.com/docs/sharding/>
* Spring监控系统<https://jeesite.com/docs/webadmin/>
* 分布式跨应用事务:<https://jeesite.com/docs/seata/>
* 追踪系统集成:<https://jeesite.com/docs/skywalking/>
* ELK 日志收集:<https://jeesite.com/docs/elk-log/>
* MybatisPlus: <https://gitee.com/thinkgem/jeesite-mybatisplus>
* 接口快速开发:<https://gitee.com/thinkgem/jeesite-magic-api>
* 内外网中间件:<https://my.oschina.net/thinkgem/blog/4624519>
* 统一认证平台:<https://jeesite.com/docs/oauth2-server>
## 授权协议声明
1. 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款。
2. 不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为。
3. 在使用本软件时,由于它集成了众多第三方开源软件,请共同遵守这些开源软件的使用许可条款规定。
4. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议、版权声明和其他原作者
规定需要包含的说明(请尊重原作者的著作权,不要删除或修改文件中的`Copyright``@author`信息)
更不要,全局替换源代码中的 jeesite 或 ThinkGem 等字样,否则你将违反本协议条款承担责任。
5. 您若套用本软件的一些代码或功能参考,请保留源文件中的版权和作者,需要在您的软件介绍明显位置
说明出处,举例:本软件基于 JeeSite 快速开发平台并附带链接https://jeesite.com
6. 任何基于本软件而产生的一切法律纠纷和责任,均于我司无关。
7. 如果你对本软件有改进,希望可以贡献给我们,共同进步。
8. 本项目已申请软件著作权,请尊重开源,感谢阅读。
9. 无用户数限制,无在线人数限制,放心使用。
## 技术支持与服务
* 本软件免费,我们也提供了相应的收费服务,因为:
* 没有资金的支撑就很难得到发展,特别是一个好的产品,如果 JeeSite 帮助了您,请为我们点赞。支持我们,您可以获得更多回馈,我们会把公益事业做的更好,开放更多资源,回报社区和社会。请给我们一些动力吧,在此非常感谢已支持我们的朋友!
* **联系我们**:请访问技术支持与服务页面:<http://s.jeesite.com>
## 今后如何升级?
尽量不修改 web 项目以外的源码项目,如 jeesite-common、jeesite-modele-core如果修改了请 Pull Requests 上来,否则代码与官方不同步,可能会将对你的日后升级增加难度。
如果您修改了依赖模块代码,也没关系,这时你需要利用 Git 版本控制工具,与官方仓库代码进行同步,合并代码即可。
每个版本升级,我们都会附带详细更新日志:<https://jeesite.com/docs/upgrade/>
在这里,你可以看到 JeeSite 新增哪些新功能和改进,在每个版本下都有对应升级方法。
如果跨版本升级,可以将版本号直接修改为最新版本,然后去看每个版本的升级方法,修改对应业务。
# Git 全局设置技巧
```
1、提交检出均不转换换行符
git config --global core.autocrlf false
2、拒绝提交包含混合换行符的文件
git config --global core.safecrlf true
```