springboot +jpa + security 博客系统

写在最前面

演示站点: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.开发的功能:

  1. 用户管理:只面向个人用户,不提供对用户的CRUD,可以扩展。
  2. 角色管理:安全框架必须,用户角色关联对应,可以进行扩展。
  3. 文章发布:发布博文。
  4. 友链管理:对网站挂载友情链接的管理。
  5. 分类、标签管理:主要是给文章发布提供便捷。
  6. 附件管理:使用七牛云对文章中要用到的图片文件统一进行管理。

由于选择的框架不同,对于原作者提供的一些功能暂时没有实现,一切从简,主要面对初学者。具体的我去掉的功能:评论这一块,系统设置中的站点设置,清除缓存,导出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.项目运行之后的美图

主页:

输入图片说明

详情页

输入图片说明


后台主页:

输入图片说明

友链

输入图片说明

附件:

输入图片说明

标签:

输入图片说明



发布了22 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_19408473/article/details/70799484