写在最前面
演示站点:blog.ydemo.cn
开源中国码云项目源码:https://git.oschina.net/oneper/base/tree/dev/
有兴趣的同学可以把源码荡下来,然后部署war包至自己的服务器,如何打包,绑定域名等一系列操作查看本人近期博客,记录了遇到的问题,如果您有问题,欢迎留言。
引言
确实,找了好久,没有找到一个优雅的java博客系统。自己去写一个吧,想着开源的php的优秀博客那么多,何必浪费时间去弄,况且自己写的问题多,考虑得不全面,与此等等,自己把自己唬住了。恰巧的是四月初一天,在开源中国的搜索框中搜了下博客,出现了tale。点开一看,界面清爽,布局优美,精神为之一振。最好的一点就是作者本人将它开源了,方便学习。这个时候在我的脑海中出现了执行力这个词,不如就让行动去决定思想,来克服懒惰,让我也去实现一次。
框架的选择
看了原作者对技术架构的说明,在此我也放弃了去弄ssm ssh之类臃肿的架构。首先,学艺不精;其次,框架整合各有千秋,吸收框架去做一个CRUD也不是一天的事情。对于spring boot火不火的事情,管他呢,既然我也是初学者,那就干。至少懂springmvc的流程,就立马能知道项目是怎么运行的。所以我选择了springboot.看了作者的陈述,说是没有加上权限这一块,正好三月份研究了spring security4半月有余。目前架构就是springboot+springsecurity+jpa(?哦对了,还有orm层,为了简便就用jpa了)。至于页面渲染,作者用的jetbrick-template已经很棒了。鉴于上面三者都是新接触的知识,为了新上加新,选择了模板引擎thymeleaf。开发工具就用idea。上面所述,新建项目可以一并集成,省事。
项目说明
作者的项目看着挺简单的,做起来却不是那么一回事了。好多细节的处理让我感觉到和作者之间的差距巨大。于是,让自己的能力和项目对等,就简化了很多功能。也便于大家一起学习吧,毕竟我也是新手。现在项目整体的运行和原作者的基本一致。
1.开发的功能:
- 用户管理:只面向个人用户,不提供对用户的CRUD,可以扩展。
- 角色管理:安全框架必须,用户角色关联对应,可以进行扩展。
- 文章发布:发布博文。
- 友链管理:对网站挂载友情链接的管理。
- 分类、标签管理:主要是给文章发布提供便捷。
- 附件管理:使用七牛云对文章中要用到的图片文件统一进行管理。
由于选择的框架不同,对于原作者提供的一些功能暂时没有实现,一切从简,主要面对初学者。具体的我去掉的功能:评论这一块,系统设置中的站点设置,清除缓存,导出sql,配置插件,扩展主题模板。其余基本一致,可打包为jar war等多种形式直接运行。
2.项目框架
- 主框架:spring boot 1.5.2+ spring security4+jpa
- 缓存:ehcache
- 后台管理模板:H-UI admin
- 前台主题模板:pingshu
- 数据库:mysql
- 模板引擎:thymeleaf
- 图片存储:七牛
前端框架在此不做说明,基本都用的差不多。
这里我感觉做的最有意义的事就是整合springboot 和security,扩展了JPA数据库访问,以及展示了如何通过七牛实现的云存储。
3.快速开始
码云地址:https://git.oschina.net/oneper/base/tree/dev/
开发工具:idea。
从码云导入项目至idea,修改resources文件下application.yml中mysql的配置信息,然后直接运行DemoApplication.java的main()方法。
然后浏览器访问:http://localhost:8080/
后台管理地址:http://localhost:8080/login
登录后会跳至首页。
需再访问http://localhost:8080/admin/index
4.项目运行之后的美图
主页:
详情页
后台主页:
友链
附件:
标签: