程序与技术分享:CleanBlog(个人博客+源码)

简介: 程序与技术分享: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环境//代码效果参考:http://www.lyjsj.net.cn/wx/art_24185.html

,关于如何在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.xml文件是对应Dao 类的SQL映射文件,MyBatis中会用到该SQL映射文件。com.luoxn28.blog.dao包结构如下所示:


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


@RequestMapping


public class Index {


// blog表操作类


@Autowired


private BlogDao blogDao;


// Message表操作类


@Autowired


private MessageDao messageDao;


@RequestMapping("/index")


public String index(Map map) {


List blogs = blogDao.getAll();


List messages = messageDao.getAll();


map.put("blogs", blogs);


map.put("messages", messages);


return "index";


}


@RequestMapping("/")


public String index0(Map map) {


return index(map);


}


}


3 CleanBlog源码获取


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


3.1 如何使用CleanBlog


   fork整个CleanBlog工程后,下载到本地,然后新建IDEA的J2EE工程,选择Web Application。然后导入CleanBlog源码,在src目录下新建db.properties文件,该文件和db.sql文件在同一个目录 //代码效果参考:http://www.lyjsj.net.cn/wx/art_24183.html

下,用于配置数据库相关信息,主要配置内容如下所示,jdbcUrl后的参数用于设置数据传输编码格式,解决中文入库乱码问题。

user=xxx


password=xxx


driverClass=com.mysql.jdbc.Driver


jdbcUrl=jdbc:


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


资源链接:


  1、CleanBlog源码


  2、CleanBlog在线演示

相关文章
|
12天前
|
存储 Java Android开发
🔥Android开发大神揭秘:从菜鸟到高手,你的代码为何总是慢人一步?💻
在Android开发中,每位开发者都渴望应用响应迅速、体验流畅。然而,代码执行缓慢却是常见问题。本文将跟随一位大神的脚步,剖析三大典型案例:主线程阻塞导致卡顿、内存泄漏引发性能下降及不合理布局引起的渲染问题,并提供优化方案。通过学习这些技巧,你将能够显著提升应用性能,从新手蜕变为高手。
16 2
|
5月前
|
算法 Java Python
保姆级Java入门练习教程,附代码讲解,小白零基础入门必备
保姆级Java入门练习教程,附代码讲解,小白零基础入门必备
|
5月前
|
安全 Java 数据库连接
【Java 从入门到出门】第一章:专栏导读(强烈推荐)
【Java 从入门到出门】第一章:专栏导读(强烈推荐)
37 1
|
10月前
|
SQL 安全 Java
阿里大牛1个月肝出一份35万字Security实战笔记,GitHub标星47k+
很多时候,一个系统的安全性完全取决于系统开发人员的安全意识。例如,在我们从未听过SQL注入时,如何意识到要对SQL注入做防护?关于Web系统安全的攻击方式非常多,诸如XSS、CSRF等,未来还会暴露出更多的攻击方式,我们只有在充分了解其攻击原理后,才能提出完善而有效的防护策略。在笔者看来,学习Spring Security并非局限于降低Java应用的安全开发成本,通过Spring Security了解常见的安全攻击手段以及对应的防护方法也尤为重要,这些是脱离具体开发语言而存在的。
阿里大牛1个月肝出一份35万字Security实战笔记,GitHub标星47k+
|
5月前
|
Java 关系型数据库 MySQL
太牛了! GitHub大牛呕心沥血整理的5000页Java学习手册文档
今天整理了一套 5000 页的 Java 学习手册,,新鲜出炉,分享给大家!此手册内容专注 Java技术,包括 JavaWeb,SSM,Linux,Spring Boot,MyBatis,MySQL,Nginx,Git,GitHub,Servlet,IDEA,多线程,集合,JVM,DeBug, Dubbo,Redis,算法,面试题等相关内容。
|
10月前
|
安全 Java 数据中心
惊讶!阿里大佬总结的图解Java小册火了,完整版笔记开放下载
Java是Sun Microsystems于1995年首次发布的一种编程语言和计算平台。 Java是快速,安全和可靠的。从笔记本电脑到数据中心,从游戏机到科学超级计算机,从手机到互联网,Java无处不在!
|
11月前
|
C语言 C++ 容器
《C++避坑神器·十》auto用法看这篇就够
《C++避坑神器·十》auto用法看这篇就够
100 0
|
算法 Java 数据库
Alibaba官方最新发布的这份Java学习导图+彩版手册,真不是吹的
最近一直有小伙伴催小编更新一份有关于Java快速学习捷径的资料,小编想说“书山有路勤为径”,从古至今这句话大家都应该懂的! 不过为了小伙伴能更好的学习,小编特意给大家整理了一份比较详细的Java学习路线和《Java核心知识点总结》一书在手天下我有!
107 1
大厂刷题实录:GitHub上获79w+ star,谷歌师兄的算法刷题笔记火了
最近一位谷歌大牛当时为了应对校招刷了几百道算法题,整理的LeetCode刷题笔记火了! 总结了他对校招算法刷题的心得+经验,整理出了这份在GitHub上火爆的LeetCode刷题笔记
|
消息中间件 SQL 缓存
Java面试通关:阿里内部实战模拟面试精讲题库,竟被上传GitHub!
最近收到小伙伴的反馈: 事实也确实是这样,如今不像从前,会个CRUD就可以随随便便找个10几k的工作,现在面试中级的话都从底层问到框架,从jvm,juc底层问到消息队列高并发了,还问SQL的调优。至于高级都是对于消息队列、缓存、分布式等各种主流技术还需要知道原理! 其实这些技术在真正的实际开发环境中真的用得到吗?不一定的,但是没办法,环境就是如此,能做的也就只有不断提升自己,去适应市场环境,提高自身技术水平!
下一篇
无影云桌面