java 后端博客系统文章系统——No4

这一期我们的目标是完成后端博客系统的博客发布功能。

按照我们前面的设定,我们的后端博客系统需要完成最简单的博文发布,我们也得有后台管理界面,同时需要将用户权限这些都附带上,但是由于时间关系,我们后端默认账户就是管理员吧,毕竟这一期的重点是实现博客的发布。

 

 

 

我们需要发布博文,那么后端必不可少的是登录和发布系统,至于其他的我们可以先缓一缓,毕竟我也没想好后端页面怎么设计,嘿嘿。

前面我看了一下,确实是完美兼容WordPress还是有很多难度,毕竟很多技术细节我们并不知道,不过,至少说目前我们已经兼容了博客文章,剩下的只需要一点点的适配就能大概完成任务。

不多说了,我们先完成后端登录功能。

 

后端登录

后端登录,我们不可能说一味的兼容WordPress,还有一些技术上面的设计理念可能也不是那么那啥,所以我们需要拿出一些自己的玩意。首先还是老规矩,从Dao→Service→Controller。

  • Dao按照老规矩就是对数据库的操作,所以我们只需要写上接口和mapper就行了。
  • Service层还是一样进行单元数据操作。
  • Controller是web应用的入口地点。

 

有了上面的这些我们只需要进行一个登录验证,也就是前面说过的密码规则验证,不过具体代码如下:

 

 

虽然说很多东西我们在前端或者是客户端已经做了限制,但是为了防止别人搞事情我们还是需要这样做才行。

 

Spring-Fox,Api测试页面

什么是Spring-Fox呢?Springfox的前身是swagger-springmvc,是一个开源的API doc框架,可以将我们的Controller的方法以文档的形式展现。

为什么我们要大费周章的做这些呢?

  • 它可以帮助我们归类web访问入口
  • 它可以整理接口
  • 它可以···

 

确实语言描述是我的弱点,不过呢,我这个理工直男癌就需要直截了当的说出来,没时间解释,直接上图。

 

 

正如上面的截图所示,我们首先应该找到对应的spring-fox的说明文档,然后仔细一看网上分为两个版本,一个是开源中国的引入说明,一个是Spring-Fox官方的使用说明,那么肯定选择官方的。

按照官方文档,我们简单总结一下:

  • 版本选择(Release或者Snapshot,推荐使用Release)
  • 依赖引入(maven或者gradle)
  • swagger设置
  • 重要细节(Spring-Fox官方文档中没有指明!!!)

 

按照官方文档说明的是,他们的demo是在SpringBoot下面实现的,现在我们需要单一的拆分出来,可以看成我们的项目就是Spring-Mvc,所以一些细节需要改变,当然当中一个很重要的细节官方文档也是没有指明,所以看官们且看我细细道来。

 

 

 

首先我们引入引来资源,通读全文最基本的依赖是:springfox-swagger、springfox-swagger-ui,所以我们直接老规矩,在gradle的配置文件中引入依赖:

 

 

 

在引入上面的基本依赖后,我们查看他们关联的依赖可以发现这些依赖里面还有引入jackson,这个时候我们可以选择提升我们的Jackson或者不管他们也行,不过我还是吧Jackson的版本提升了:

 

 

 

 

 

根据官方文档我们可以看到有一个swagger设置需要先引入后,才能让我们设定的东西生效,所以我们先引入设置:

 

 

 

设置完成上面的东西后,我们需要干什么呢? 上面我们很明显的看到我们@configuration是一个spring框架的注解,顾名思义肯定就应该是一个spring的设置。同时我们可以在idea的编辑器中看到类名有一层淡黄色的标记,然后选中类名按下代码提示(Alt+Enter)会有提示告诉我们这个设置没有使用,然后自动完成后会给我们自动添加到Spring的ApplicationContext中作为CodeContext使用。

 

当然,上面的是懒人做事这样做的后果会是导致apiInfo的设置不能生效。

 

那么正常一点的应该是怎么做呢?按照Spring的思想来说,我们需要在Spring的设置文件中直接引入bean。所以我们在spring-web.xml中插入对应的bean,如下:

 

 

 

通过这样的在spring的配置文件中设置后,我们感觉应该是能用的,所以我们可以先跑起来看看

 

按照官方文档我们完全设定了后,我们可以看到就算我们在代码中引入了配置后,一样的在里面不能看到网页的接口列表(只看得到上面的标题栏,下面的是空白),然后我们仔细的查看网页的请求会发现

 

 

这个请求是404。说实话这个错误困扰了我很久,同时这个问题前面我处理的时候还是有一系列的综合问题,后面整个工程师重建后完成的。

但是现在这个问题简单直接找到问题所在了,那就是在我们spring的设置中,关于web的设置我们都是在spring-web.xml中完成的,同时里面的东西我们需要改动一下才能适应现在的需要,如下:

 

 

 

也就是说,我们除了要在Spring的配置文件中引入bean来初始化swagger相关的东西以外,我们还需要在web扫描那里添加springfox的扫描。所以我们spring-fox的设置相关的完成了。

 

 

 

 

从前面的学习中我们可以明白我们所有的网络请求都是在controller中来实现的,所以我们这里需要通过对controller做适当的修改才能实现SpringFox的使用。具体的直接仍代码上来,大家详细的看看就行了,不需要什么深入钻研。

 

 

至此我们的Spring-Fox简单实用已经完成,后续的操作我们在需要的地方再查找资料就行了。

 

总结

本期项目都是简单的介绍了一些东西,主要有:

  • 登录密码校验规则(MD5→SHA256)
  • Spring-Fox的引入
  • Spring-Fox在非springBoot中的使用
  • Spring-Fox的使用

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
核心功能 文章/图片/视频发布、喜欢、统计阅读次数。 文章标签tag功能、支持按tag分类 文章支持ueditor/markdown编辑器切换(后台配置) 评论功能,支持回复,支持表情。 第三方(微、QQ)登录。 lucene实现的站内搜索。 响应式布局 支持用户订阅 先看效果图 SpringBoot开发非常美观的java系统(包含后台管理功能) SpringBoot开发非常美观的java系统(包含后台管理功能) SpringBoot开发非常美观的java系统(包含后台管理功能) http://localhost:8080/admin/group/list SpringBoot开发非常美观的java系统(包含后台管理功能) SpringBoot开发非常美观的java系统(包含后台管理功能)SpringBoot开发非常美观的java系统(包含后台管理功能) 技术选型: JDK8 数据库MySQL 主框架 (Spring-boot、Spring-data-jpa) 安全权限 Shiro 搜索工具 Lucene 缓存 Ehcache 视图模板 Freemarker 其它 Jsoup、fastjson jQuery、Seajs Bootstrap 前端框架 UEditor/Markdown编辑器 font-Awesome 字体/图标 准备工作(sql文件在项目里面) 安装 Jdk8 安装 Maven 准备 IDE (如果你不看源码,可以忽略下面的步骤,直接通过Maven编译war包:mvn clean package -DskipTests) IDE 需要配置的东西 编码方式设为UTF-8 配置Maven 设置Jdk8 关于这些配置,网上有一大把的资料,所以此处不再重复。 获取代码导入到IDE 下载代码 导入到IDE的时候请选择以Maven的方式导入 项目配置参考 系统配置手册 配置完毕 启动项目,在控制台看到Mblog加载完毕的信息后,表示启动成功 打开浏览器输入:http//localhost/mblog/ (此处仅是示例,具体具体端口因人而异),访问成功即部署完毕 后台管理的地址是 /admin, 如果你是管理员账号点导航栏的头像会看到"后台管理" 启动成功后,你应该去后台的系统配置里配置你的网站信息等。 常见问题总结 进入系统后, 菜单加载不出来, 那应该是你没有导 db_init.sql 点标签显示乱码, 请设置Tomcat的 URIEncoding 为 UTF-8 项目截图 SpringBoot开发非常美观的java系统(包含后台管理功能) 转自:https://gitee.com/mtons/mblog SpringBoot开发非常美观的java系统(包含后台管理功能) 注意: 一、java main方式运行mblog-web下的BootApplication.java时抛出异常的解决方案 Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean. SpringBoot开发非常美观的java系统(包含后台管理功能) 注释掉后下面图片的这段后,记得maven要重新reimport SpringBoot开发非常美观的java系统(包含后台管理功能) SpringBoot开发非常美观的java系统(包含后台管理功能) 否则maven依赖不生效还是会抛出以上的异常 二、第三方登录点击后无响应,那是因为第三方开放平台回调的url失效导致,需要你去对应的第三方开放平台注册app后获取对应的oauth帐号 SpringBoot开发非常美观的java系统(包含后台管理功能) 三、idea以maven项目导入该项目后,发现没有maven的依赖包时,需要对每个maven module进行clear和install,并且注意maven的依赖顺序 SpringBoot开发非常美观的java系统(包含后台管理功能) SpringBoot开发非常美观的java系统(包含后台管理功能) 四、访问地址是http://localhost:8080 登录时,帐号,密码只要自己找个密码,然后md5下在更新到db中即可登录成功。 比如:zuidaima 111111,md5后密码是 3931MUEQD1939MQMLM4AISPVNE,md5的java类 SpringBoot开发非常美观的java系统(包含后台管理功能) SpringBoot开发非常美观的java系统(包含后台管理功能)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值