你的位置:首页 > Java教程

[Java教程]CleanBlog(个人博客+源码)


  CleanBlog是一个高端(低调)、大气(简洁)的个人博客系统,之前在网上看到了好多个人博客网站,感觉很酷的,自己也想搭建一个,最近 刚学完SSM(Spring/SpringMVC/MyBatis),所以就采用SSM来搭建一个简洁的个人博客。先上一张博客首页图片:

 

1 CleanBlog架构

   CleanBlog整体架构比较简单,主要有写博客、看博客、留言板功能。CleanBlog由SSM技术来实现,SpringMVC负责请求解析转发 并渲染视图,MyBatis负责持久层的交互操作,Spring作为整体平台集成SpringMVC和MyBatis。数据库使用MySQL,Web前端 采用了Bootstrap,文本编辑器使用了UEditor(一个开源富文本Web编辑器,来自百度),前端布局灵感来自于Clean Blog(也可以说是套用该模板)。

CleanBlog整体框架图:

 

2 CleanBlog逻辑讲解

  CleanBlog采用IDEA开发,首先需要搭建SSM环境,关于如何在IDEA下搭建SSM环境请点击:MyBatis使用总结+整合Spring和Spring学习之第一个Spring MVC程序(IDEA开发环境)。最后搭建好的工程如下图所示:

 

2.1 数据表

  目前CleanBlog功能较少,只涉及到2张表,blog表和message表(留言板功能)。两个表结构分别如下所示:

CREATE TABLE blog ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, title VARCHAR(128) NOT NULL, text TEXT, preview VARCHAR(128), author VARCHAR(32), category VARCHAR(32), date TIMESTAMP DEFAULT '2016-05-20 00:00:00');CREATE TABLE message (  id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,  author VARCHAR(32),  content TEXT,  date TIMESTAMP DEFAULT '2016-05-20 00:00:00')

2.2 数据表操作Dao类

  数据表操作Dao类在 com.luoxn28.blog.dao包下,主要有Blog和Message相关Dao类,其中该包下的xxxMapper.

2.3 CleanBlog控制器类

  CleanBlog控制器类有Blog类(用于显示blog)、Index类(显示主页)、Message类(留言板功能)、Post(在线写博客),这几个类都在com.luoxn28.blog.controller包下,该包结构如下所示:

  比如Index源码如下,负责接收主页请求逻辑的处理:

package com.luoxn28.blog.controller;import com.luoxn28.blog.dao.Blog;import com.luoxn28.blog.dao.BlogDao;import com.luoxn28.blog.dao.MessageDao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;import java.util.Map;/** * Index控制器 * @author luoxn28 * @date 2016.6.18 */@Controller@RequestMappingpublic class Index {  // blog表操作类  @Autowired  private BlogDao blogDao;  // Message表操作类  @Autowired  private MessageDao messageDao;  @RequestMapping("/index")  public String index(Map<String, Object> map) {    List<Blog> blogs = blogDao.getAll();    List<com.luoxn28.blog.dao.Message> messages = messageDao.getAll();    map.put("blogs", blogs);    map.put("messages", messages);    return "index";  }  @RequestMapping("/")  public String index0(Map<String, Object> map) {    return index(map);  }}

 

3 CleanBlog源码获取

  下面到了见证源码的时刻了,该项目的源码已经push到了我的github上了,项目地址为:luoxn28/CleanBlog(ps: 欢迎Star);CleanBlog目前已经部署到了服务器上,在线访问请点击:http://luoxn28.xyz:8080/。

3.1 如何使用CleanBlog

   fork整个CleanBlog工程后,下载到本地,然后新建IDEA的J2EE工程,选择Web Application。然后导入CleanBlog源码,在src目录下新建db.properties文件,该文件和db.sql文件在同一个目录 下,用于配置数据库相关信息,主要配置内容如下所示,jdbcUrl后的参数用于设置数据传输编码格式,解决中文入库乱码问题。

user=xxxpassword=xxxdriverClass=com.mysql.jdbc.DriverjdbcUrl=jdbc:mysql://192.168.1.150/clean_blog?useUnicode=true&characterEncoding=utf8

  然后,登录MySQL,运行工程src目录下的db.sql中的所有命令,新建项目所需的数据库和数据表。最后编译、运行,打开浏览器就可以看到CleanBlog的主页了。

 

资源链接:

  1、CleanBlog源码

  2、CleanBlog在线演示