博客项目Tale思维导图,让项目不再难懂
写在前面
这次介绍的这个博客项目可以说有点另类,因为它使用的技术大部分都不是主流的技术,从前端到后端框架再到数据库的选择。当然,麻雀虽小但五脏俱全。技术的运用需要学会变通,大家在学习的过程中可以对比着学习,与主流的框架技术相比找优缺点,这样才会加深你对一个项目或框架运用的理解,为你以后搭建框架和学习框架思想都有好处。
Tale官方简介
博客Tale使用了轻量级 mvc 框架 Blade 开发,默认主题使用了漂亮的 pinghsu。
特性
设计简洁,界面美观
Markdown 文章发布
自定义文章链接
支持多主题
支持插件扩展
支持 Emoji 表情
支持网易云音乐播放
支持附件和数据库备份
部署简单,不依赖 Tomcat
无需数据库,内嵌 Sqlite
1、tale项目简介.png
2、技术介绍.png
3、项目结构.png
6、项目讲解.png
Tale项目git
Tale项目wiki
Tale演示地址
Blade MVC 框架简介
blade 借鉴了很多优秀mvc框架的设计,它是为java开发人员提供的便捷易用快速上手的一款框架,你可以用它快速开发API、Web 及后端服务等各种应用。 它提供了非常多的功能,内置ioc、rest路由,视图渲染,json返回,统一配置,aop,非orm的jdbc操作等等。框架对外提供很多扩展接口,支持开发者使用自己喜欢的,比如模版引擎。
有关blade mvc框架的原理还需要你们自己去看官方文档啦。
blade mvc整体设计.jpg
特性
轻量级。不依赖更多的库,摆脱SSH的臃肿,模块化设计,使用起来更轻便!
模块化(你可以选择使用哪些组件)
Restful风格的路由接口
No Orm (Active Record方式玩转数据库操作)
模板引擎支持
非web方式开发和发布
Blade MVC 框架git地址
Blade MVC 框架官方文档
Blade MVC 框架官方api文档
jetbrick-template模板技术
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。
4、Tale项目中用到的模板标签与函数.png
官方的模板渲染流程举例
模板userList.html
#define(List<UserInfo> userlist)<table> <tr> <td>序号</td> <td>姓名</td> <td>邮箱</td> </tr> #for (UserInfo user : userlist) <tr> <td>${for.index}</td> <td>${user.name}</td> <td>${user.email}</td> </tr> #end</table>流程:
创建自定义配置的 JetEngine 对象。推荐使用单例模式创建。
根据模板路径,获取一个模板对象 JetTemplate。
创建一个 Map<String, Object> 对象,并加入你的 data objects。
准备一个待输出的对象,OutputStream 或者 Writer。
根据你的 data objects 来渲染模板,并获得输出结果。
代码实现:
// 创建一个默认的JetEngineJetEngine engine = JetEngine.create();
// 获取一个模板对象
JetTemplate template = engine.getTemplate("/sample.jetx");
// 创建 context 对象
Map<String, Object> context = new HashMap<String, Object>();
context.put("user", user);
context.put("books", books);
// 渲染模板
StringWriter writer = new StringWriter();
template.render(context, writer);
// 打印结果
System.out.println(writer.toString());
jetbrick-template模板git地址
jetbrick-template官方文档地址
SQLite
SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。
5、SQLite介绍.png
sqlite3的sql语法与mysql的基本的增删改查语句基本相同。
运行了Tale项目并安装之后,项目的根目录下会有个SQLtite的数据库文件tale.db,这个就是项目的数据库文件了。查看数据库也简单,切换到项目的根路径下打开命令行 ,输入sqlite3 tale.db相当于mysql的use database。根据sqlite3的语法,可以使用sql语句操作。
查看sqlite数据库.jpg
图中.table想当于show tables
写在最后
如果你只用过jsp作为视图的话,可能对模板技术不是特别熟悉,建议可以先去了解一下主流的模板技术Velocity之后再和这个项目做对比。
最后,欢迎关注我的微信公众号java-mindmap,更多java思维导图与项目资料供你学习,每三到四天会更新一篇,带你走进记忆脑图的世界。
推荐阅读
FOLLOW
﹀
﹀
﹀