博客項目Tale思惟導圖,讓項目再也不難懂

寫在前面html

此次介紹的這個博客項目能夠說有點另類,由於它使用的技術大部分都不是主流的技術,從前端到後端框架再到數據庫的選擇。固然,麻雀雖小但五臟俱全。技術的運用須要學會變通,你們在學習的過程當中能夠對比着學習,與主流的框架技術相比找優缺點,這樣纔會加深你對一個項目或框架運用的理解,爲你之後搭建框架和學習框架思想都有好處。前端

Tale官方簡介java

博客Tale使用了輕量級 mvc 框架 Blade 開發,默認主題使用了漂亮的 pinghsumysql

######特性git

  • 設計簡潔,界面美觀
  • Markdown 文章發佈
  • 自定義文章連接
  • 支持多主題
  • 支持插件擴展
  • 支持 Emoji 表情
  • 支持網易雲音樂播放
  • 支持附件和數據庫備份
  • 部署簡單,不依賴 Tomcat
  • 無需數據庫,內嵌 Sqlite

一、tale項目簡介.png

二、技術介紹.png

三、項目結構.png

六、項目講解.png

######Tale項目git https://git.oschina.net/biezhi/tale/ ######Tale項目wiki https://github.com/otale/tale/wiki ######Tale演示地址 https://tale.biezhi.me/github

Blade MVC 框架簡介web

blade 借鑑了不少優秀mvc框架的設計,它是爲java開發人員提供的便捷易用快速上手的一款框架,你能夠用它快速開發API、Web 及後端服務等各類應用。 它提供了很是多的功能,內置ioc、rest路由,視圖渲染,json返回,統一配置,aop,非orm的jdbc操做等等。框架對外提供不少擴展接口,支持開發者使用本身喜歡的,好比模版引擎。sql

有關blade mvc框架的原理還須要大家本身去看官方文檔啦。數據庫

blade mvc總體設計.jpg

######特性json

  • 輕量級。不依賴更多的庫,擺脫SSH的臃腫,模塊化設計,使用起來更輕便!
  • 模塊化(你能夠選擇使用哪些組件)
  • Restful風格的路由接口
  • No Orm (Active Record方式玩轉數據庫操做)
  • 模板引擎支持
  • 非web方式開發和發佈

######Blade MVC 框架git地址 https://github.com/biezhi/blade ######Blade MVC 框架官方文檔 http://bladejava.com/ ######Blade MVC 框架官方api文檔 http://bladejava.com/apidocs/

jetbrick-template模板技術

jetbrick-template 是一個新一代 Java 模板引擎,具備高性能和高擴展性。 適合於動態 HTML 頁面輸出或者代碼生成,可替代 JSP 頁面或者 Velocity 等模板。 指令和 Velocity 類似,表達式和 Java 保持一致,易學易用。

四、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>

流程:

  1. 建立自定義配置的 JetEngine 對象。推薦使用單例模式建立。
  2. 根據模板路徑,獲取一個模板對象 JetTemplate。
  3. 建立一個 Map<String, Object> 對象,並加入你的 data objects。
  4. 準備一個待輸出的對象,OutputStream 或者 Writer。
  5. 根據你的 data objects 來渲染模板,並得到輸出結果。

代碼實現:

// 建立一個默認的 JetEngine
JetEngine 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地址 http://git.oschina.net/sub/jetbrick-template ######jetbrick-template官方文檔地址 http://subchen.github.io/jetbrick-template/2x/overview.html

SQLite

SQLite 是一個開源的嵌入式關係數據庫,實現自包容、零配置、支持事務的SQL數據庫引擎。 其特色是高度便攜、使用方便、結構緊湊、高效、可靠。

五、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思惟導圖與項目資料供你學習,每三到四天會更新一篇,帶你走進記憶腦圖的世界。

關注公衆號並回復「思惟導圖」當即下載源xmind導圖。

掃一掃關注java-mindmap公衆號.jpg

相關文章
相關標籤/搜索