SpringMVC进阶 - 利用HandlerMethodArgumentResolver接口实现自定义参数类型解析

HandlerMethodArgumentResolver 接口 HandlerMethodArgumentResolver 接口看起来很陌生,实际上在SpringMVC中很多地方我们都会直接或者间接的接触到 例如: @RequestParam 解析 RequestParamMethodArgumentResolver (基础类型的默认解析器) @PathVariable 解析 PathVariableMethodArgumentResolver @RequestBody 解析 RequestResponseBodyMethodProcessor...

4 minute read

SpringMVC进阶 - 利用@ControllerAdvice和ResponseBodyAdvice接口统一处理返回值

在我们进行Java的Web应用开发时,如何写更少的代码,做更多的事情。如何让开发更容易上手,更专注于业务层面,不需要太关心底层的实现。这里就分享一些我平时在搭建基础框架时候的一些心得体验。 统一处理返回值 在web应用中,通常前后端会定义一个统一的对象来封装返回值,一般除了业务数据之外,可能会包含一些请求相关的数据 例如以下这个对象 code来标识整个请求的结果 msg用于返回错误信息 data用于返回实际的业务数据。 { "code": 0, "msg": "success", "data": {} }...

5 minute read

写一个代码生成器的心路历程,和一个只需要一天就能完成的代码生成器maven插件源码

为什么要写一个代码生成器 在写后端项目的时候,基础的实现功能都是增删查改,通常以表或者指定的数据模型为单位进行增删查改。 在大部分的Web项目中,通常写一个增删查改需要新建很多个基础类。 假设你的项目是由 控制层、服务层、数据访问层组成,那么如果新增一个表的增删查改功能,我们就也许需要针对这个表创建以下这些类。 Model.java ModelController.java IModelService.java ModelService.java IModelDao.java ModelDao.java 创建完成后,某些项目结构是有通用的基础类,可能还需要根据Model类型来添加泛型,这样又是需要一顿复制粘贴的操作。 interface IModelService extends...

2 minute read

关于博客迁移

旧的服务器已经到期,之前买来是用作练习的,近期也没时间维护,所以就不续期了,把博客迁移到GitHub Pages上来了。 GitHub Pages基于 Jekyll,本博客也是套用了一个 Jekyll的模板。 今后有空,还是会定期更新博客内容,主要是公司最近融了资,工作比较忙。 ~ 愿和大家一起走上巅峰

1 minute read

蹭一波最近的热度,我们是谁? 在线生成

主要就是用一张空白的图,然后使用canvas把用户输入的文字画上去,比较简单。 就这样的界面, 访问地址 https://who.diamondfsd.com PC端 移动端

1 minute read

使用webpack+vue+less开发,使用less-loader,配置全局less变量

Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,在阅读这篇文章的时候,笔者假设你已经有了一定的less编码经验。以下将不会讲解less的用法。 我们在构建一个页面的时候,会定义一些基本参数,例如主色调,文字颜色,标题颜色,副标题颜色,字体大小等等。 通过统一的参数,可以保证页面整体风格的一致性。 在使用Vue模板进行开发的时候,我们把每个页面组件化,组件内的样式就写在组件自身的<style>标签内。 这时候我们需要引用一个变量,通常的方式是专门定义一个公共的variables.less 然后在每个需要使用这些变量的组件内,使用 @import 'xxxpath/variables.less';,主动引用的方式,来引入这些变量。 当组件少的时候还好说,当组件过多的时候,每次都引入就比较烦了。 最近在使用Vux-components这个组件库的时候,该作者提供了一个...

2 minute read

使用 GitHub OAuth 第三方验证登录

现在很多站点都支持第三方登录功能。 作为一个技术博客,目标受众项是一批程序员,第三方登录的就选中了github。 这篇文章注意是讲一讲如何给自己的博客添加github自动登录功能。 OAuth 2.0 说到第三方登录,不得不提的一个知识点就是 oauth 2.0。 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 —- 百度百科 这个协议在认证和授权的时候涉及到: 服务提供方,例如 GitHub,GitHub上储存了用户的登录名,Email,昵称,头像等信息 用户...

2 minute read