UJCMS:一款基于SpringBoot的开源内容管理系统
UJCMS 是一款基于 SpringBoot 开发的开源内容管理系统 (Java CMS),旨在为开发者提供一个灵活、易用且功能强大的平台。它利用了 SpringBoot、MyBatis、Shiro、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus 等主流技术,并参考了 Jspxcms 多年的开发经验,针对原系统的一些痛点问题进行了优化和改进。
UJCMS 的技术亮点
UJCMS 在技术选型和架构设计上,始终秉持着“简单”、“灵活”的原则,力求降低系统的维护成本和二次开发难度,为开发者提供更便捷的使用体验。
1. 技术架构
持久化层: 使用 MyBatis 替换 Hibernate,简化数据持久化操作,提升开发效率。
视图层: 使用前后端分离的 Vue3 替换 JSP,实现更现代化的用户界面设计,并提升用户体验。
数据库: 重新设计数据库架构,优化数据存储和访问方式。
2. 功能亮点
UJCMS 提供了丰富的功能,涵盖了内容管理系统的核心需求,并通过一些创新设计,提升了系统的灵活性和易用性:
1. 自定义字段
可查询: 所有自定义字段均可进行查询,增强系统的灵活性,满足多样化的内容管理需求。
可视化设计: 提供拖拽式的可视化设计界面,实现所见即所得的自定义字段配置,简化操作流程。
2. URL 地址 SEO 优化
动态地址修改: 系统提供全局设置功能,方便用户自定义栏目和文章的 URL 地址前缀,提升 SEO 优化效果。
多站点优化: 子站点的 URL 地址不再采用 www.example.com/site-abc 的形式,而是更友好的 www.example.com/abc 形式,简化用户访问路径。
3. 清理垃圾附件
附件管理: 提供附件管理功能,方便用户查看所有未使用的图片和附件,并进行删除操作,清理系统空间。
自动清理: 在删除文章后,系统会自动清理文章中未使用的图片和附件,避免产生大量垃圾数据。
4. 附件、模板、索引文件独立部署
独立目录: 将系统运行时产生的文件 (如上传的图片和附件、前台模板、索引文件) 部署到独立的目录,方便系统备份、升级和管理。
5. 模板文件和 CSS、JS 在同一目录
方便管理: 将模板文件和 CSS、JS 放在同一目录,简化模板制作和部署流程,提高开发效率。
6. MyBatis 参数化查询
灵活查询: 通过前台传递查询参数,即可实现任意字段及关联表的查询功能,无需后台编写代码,大幅减少后端开发工作量。
提升效率: 简化查询操作,提高开发效率。
7. 主副表拆分
提升性能: 对查询量大的复杂表进行主副表拆分,把常用的查询字段放到主表,不常用的字段放到副表,提升大数据量下的系统性能。
UJCMS 的环境要求
JDK 8
MySQL 5.7 (兼容 5.6、8.0)
Tomcat 8.5、9.0 (Servlet 3.1+)
Maven 3.5 或更高
系统后台兼容的浏览器: Chrome、Firefox、Edge
前台页面兼容的浏览器取决于模板,使用者可以完全控制模板,理论上可以支持任何浏览器。演示模板支持 IE10+(文库功能除外)、Chrome、Firefox、Edge。
UJCMS 的安装与启动
1. 数据导入数据库
创建数据库: 使用 MySQL 时,选择 utf8mb4 字符集 (支持更多特殊字符如表情字符 emoji,推荐)。
执行数据库脚本: 数据库脚本位于 database 目录下。
2. 启动程序
导入 Maven 项目: 在 Eclipse 中导入 Maven 项目,并等待从 Maven 服务器下载第三方 jar 包 (如 Spring)。
修改数据库连接: 打开 /src/main/resources/application.propertis 文件,根据实际情况修改 spring.datasource.url、spring.datasource.username、spring.datasource.password 的值。
启动程序: 在 Eclipse 中,右键点击项目名,选择 Run as - Java Application ,选择 Application - com.ujcms ,然后点击 OK。
IntelliJ IDEA: 操作步骤与 Eclipse 类似,在工程中找到 com.ujcms.Application 类并右键点击,选择 Run 'Application' 。
3. 访问地址
前台: http://localhost:8080/
后台: http://localhost:8080/cp/ (用户名:admin,密码:password)
注意: 后台前端基于 Vue 3 开发,如要修改后台界面,请另外下载 ujcms-cp 项目。
总结
UJCMS 是一款功能强大、灵活易用、性能优异的开源内容管理系统。它采用主流技术栈,并针对一些常见问题进行优化,旨在为开发者提供更加便捷高效的开发和维护体验。如果您需要一个可靠且易于扩展的 CMS 平台,UJCMS 值得您的关注。