CleanBlog是一个高端(低调)、大气(简洁)的我的博客系统,以前在网上看到了好多我的博客网站,感受很酷的,本身也想搭建一个,最近 刚学完SSM(Spring/SpringMVC/MyBatis),因此就采用SSM来搭建一个简洁的我的博客。先上一张博客首页图片:css
CleanBlog总体架构比较简单,主要有写博客、看博客、留言板功能。CleanBlog由SSM技术来实现,SpringMVC负责请求解析转发 并渲染视图,MyBatis负责持久层的交互操做,Spring做为总体平台集成SpringMVC和MyBatis。数据库使用MySQL,Web前端 采用了Bootstrap,文本编辑器使用了UEditor(一个开源富文本Web编辑器,来自百度),前端布局灵感来自于Clean Blog(也能够说是套用该模板)。html
CleanBlog总体框架图:前端
CleanBlog采用IDEA开发,首先须要搭建SSM环境,关于如何在IDEA下搭建SSM环境请点击:MyBatis使用总结+整合Spring和Spring学习之第一个Spring MVC程序(IDEA开发环境)。最后搭建好的工程以下图所示:java
目前CleanBlog功能较少,只涉及到2张表,blog表和message表(留言板功能)。两个表结构分别以下所示:mysql
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' )
数据表操做Dao类在 com.luoxn28.blog.dao包下,主要有Blog和Message相关Dao类,其中该包下的xxxMapper.xml文件是对应Dao 类的SQL映射文件,MyBatis中会用到该SQL映射文件。com.luoxn28.blog.dao包结构以下所示:git
CleanBlog控制器类有Blog类(用于显示blog)、Index类(显示主页)、Message类(留言板功能)、Post(在线写博客),这几个类都在com.luoxn28.blog.controller包下,该包结构以下所示:github
好比Index源码以下,负责接收主页请求逻辑的处理:web
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 @RequestMapping public 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); } }
下面到了见证源码的时刻了,该项目的源码已经push到了个人github上了,项目地址为:spring
fork整个CleanBlog工程后,下载到本地,而后新建IDEA的J2EE工程,选择Web Application。而后导入CleanBlog源码,在src目录下新建db.properties文件,该文件和db.sql文件在同一个目录 下,用于配置数据库相关信息,主要配置内容以下所示,jdbcUrl后的参数用于设置数据传输编码格式,解决中文入库乱码问题。sql
user=xxx
password=xxx driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql://192.168.1.150/clean_blog?useUnicode=true&characterEncoding=utf8
而后,登陆MySQL,运行工程src目录下的db.sql中的全部命令,新建项目所需的数据库和数据表。最后编译、运行,打开浏览器就能够看到CleanBlog的主页了。
资源连接: