Una-Boot V1.2.0 基于Spring Boot 2.0的国产Java博客系统,为IT极客写作而生

GitHub license


简介

​ 尤娜(una-boot)是一款基于Spring Boot 2.0构建的国产Java博客系统,在此之前,我不断的尝试使用过不同的博客系统,如基于PHP的WordPress、基于Node.js的静态博客系统Hexo、基于Java的CMS系统JEECMS和MCMS等,这些系统都有着不错的表现,能够满足绝大多数的需求场景。那问题来了,我为什么还要重复性的造一个“轮子”呢?一个简单的比喻,前面提到的系统都很强大,有的像“卡车轮子”,有的像“坦克履带”,有的像“跑车轮子”,它们的性能,功能都很强大。然而,作为一个经常写博客文章的我,我现在需要的是小巧的“电摩轮子”。基于这样的一个需求,也参考了上述诸多优秀CMS系统的设计,站在“巨人”的肩膀上,完成了尤娜博客系统的设计和开发。

尤娜的初衷是提供一个极简的内容创作平台,给热爱技术,热爱写作的小伙伴一个简洁,易用的写作软件。因此,尤娜博客系统在设计之初就只保留了一个博客网站最核心的几个功能模块,它们分别是栏目、文章、主题、友链、标签、归档、存储和评论,共计八个主要核心功能。为了尽可能的降低尤娜的使用门槛,尤娜基于Freemarker模板引擎开发了一套内置的博客标签,通过使用这些标签,对于不能熟练使用Java编程语言的小伙伴,也能快速的构建出一套漂亮的博客主题。尤娜会自动根据各类标签加载对应的博客数据,完成主题的渲染。

由于抗击疫情以及工作的原因,原定于2020年1月份上线una-boot-1.2.0版本的计划推迟到了3月份。在una-boot-1.2.0版本中,新增了在线安装并初始化博客的功能,免去了部署系统是来回修改配置文件的复杂过程。在新版本中,尤娜使用了动态数据源切换技术,系统安装完成后,不需要再重启Apache Tomcat,尤娜会自动切换到博主指定的数据源上。在接下来的章节中,我将详细介绍una-boot-1.2.0版本的所有细节。

主要特点

  • 完全开源:基于AGPL-3.0协议开源
  • 快速初始化:通过安装向导,快速完成站点初始化工作
  • 标签化建站:尤娜内置了内容标签和内容函数,可以快速的完成模板的制作
  • 多主题:支持多个主题自由切换,快速改变站点风格,而不需重新编译后台代码
  • Markdown支持: 内置markdown编辑器
  • 文件存储:支持本地存储和CDN存储
  • 评论支持:内置了Gitalk评论函数,只需设置相关的Gitalk参数即可拥有评论功能
  • Spring Boot: 基于Spring Boot 2.0版本进行构建

开发环境

建议您使用下面推荐的环境与尤娜玩耍,以避免版本不一致所带来的困扰

  • OS: Windows 7/10,Linux
  • IDE: Eclipse,IntelliJ IDEA(推荐)
  • DB:MySQL 5.6+
  • JDK: JDK8+
  • Web Server: Apache Tomcat 8+
  • Maven: Maven 3.0+

技术框架

尤娜所使用的开发框架明细:

框架 说明 官网
Spring Framework 轻量级(相对而言)的Java开发框架 https://spring.io/projects/spring-framework
Spring Boot Java Web开发脚手架 https://spring.io/projects/spring-boot
Apache Shiro 安全控制框架 https://shiro.apache.org
Hibernate 对象关系映射框架 http://hibernate.org
Freemarker 视图模板引擎 https://freemarker.apache.org
Log4J 日志记录组件 https://logging.apache.org
Druid 数据库链接池 https://druid.apache.org
FastJSON JSON解析库 FastJson
EhCache 基于Java的进程内缓存框架 http://www.ehcache.org
pinyin4j 中文转拼音的Java库 https://sourceforge.net/projects/pinyin4j/
Maven 项目构建 https://maven.apache.org
lombok 代码生成器 https://projectlombok.org

项目地址
Github:https://github.com/ramostear/UnaBoot-Pro.git
Gitee: https://gitee.com/ramostear/UnaBoot-Pro.git