07 2020 档案
摘要:Redis详解 什么是Redis Redis是一个开源的,内存数据库,它可以作为数据库、缓存和消息中间件。它支持多种类型的数据结构。如字符串string、散列hash、列表list、集合set、有序集合zset。Redsi还支持事务和不同级别的持久化操作。 各种数据类型 应用场景 # 五种数据类型
阅读全文
摘要:Vue 插槽 什么是插槽 slot翻译为插槽,在生活中有很多地方都有插槽,电脑的USB插槽,插板当中的电源插槽。 插槽的目的是让我们原来的设备具有更多的拓展性。 比如电脑的USB,我们可以接入U盘、硬盘、手机、音响、键盘、鼠标等等。 组件的插槽 组件的插槽也是为了让我们封装的组件更加具有拓展性。 让
阅读全文
摘要:Vue组件参数传递问题 组件中的data为什么是函数? **组件中的数据是保存在哪里呢?顶层的Vue实例中吗?**并不是的,组件无法访问Vue实例中的data。即使可以访问,如果所有组件的数据都在顶级Vue实例中,那么Vue中的data会十分的臃肿。组件中的数据应该由自己管理。 组件是一个单独功能模
阅读全文
摘要:Vue Router 使用Vue路由之前我们需要先安装router组件,由于VueCli4以上的版本可以很方便的使用vue ui添加vue router组件,所以这里就不再做详细的说明了。 使用Router 修改router/index.js router的使用非常的简单,首先我们需要在index.
阅读全文
摘要:Spring Boot2 拦截器对静态资源的放行 在前面的案例中,我们大量的使用了拦截器。SpringBoot2.x的拦截器会对静态资源进行拦截。下面介绍以下如何在拦截路径的同时,对静态资源进行放行。在前后端分离的项目中,无需进行此操作,前后端分离项目中我们只需要返回状态码,由前端的路由实现页面权限
阅读全文
摘要:Spring Boot过滤非法请求 背景 接口过滤我对他的定义就是:当满足特定的条件下才给用户访问接口的权限。 不过这里我指定并不是权限校验,那是JWT做的事,这里我们主要研究的是对分发访问的过滤。 在最近的项目中整合了短信验证码的发送,对于短信验证码、OSS等云服务来说,非法请求可能会为你带来巨额
阅读全文
摘要:SpringBoot实现JWT认证 本文会从Token、JWT、JWT的实现、JWTUtil封装到SpringBoot中使用JWT,如果有一定的基础,可以跳过前面的内容~ Token 简介 Token 是一个临时、唯一、保证不重复的令牌,例如智能门锁,它可以生成一个临时密码,具有一定时间内的有效期。
阅读全文
摘要:param-validate的使用 下载 如果你只想使用此工具,可以前往github下载其jar包。点击进入下载页面 解压和安装 解压后,你将会得到下述两个文件 运行install.bat(请确保你的M2_HOME是否正确配置) 使用param-validate 接下来我们创建一个maven项目,引
阅读全文
摘要:param-validate 在开发过程中,用户传递的数据不一定合法,虽然可以通过前端进行一些校验,但是为了确保程序的安全性,保证数据的合法,在后台进行数据校验也是十分必要的。 后台的参数校验的解决方案 在controller方法中校验: 后台的参数是通过controller方法获取的,所以最简单的
阅读全文
摘要:AOP+自定义注解实现全局参数校验 在开发过程中,用户传递的数据不一定合法,虽然可以通过前端进行一些校验,但是为了确保程序的安全性,保证数据的合法,在后台进行数据校验也是十分必要的。 后台的参数校验 在controller方法中校验: 后台的参数是通过controller方法获取的,所以最简单的参数
阅读全文
摘要:Java自定义注解的实现 简介 注解:说明程序的,给计算机看的。 注释:用文字描述程序的,给程序员看的。 定义:注解(Annotation),也叫元数据,一种代码级别的说明,它是JDK1.5以后版本引入的一个特性,与类、接口、枚举在同一个层次。可以声明在包、类、字段、方法、局部变量、方法参数等的前面
阅读全文
摘要:SpringBoot 拦截器中校验Json数据 背景 做开发的时候,经常会使用@RequestBody注解,这个注解是非常的好用。但是如果你想在请求参数传到后台的 时候做一个参数检验,当然可以!使用SpringMVC的拦截器,在拦截器里把request的数据读取出来不就行 了!!,但是在使用了拦截器
阅读全文
摘要:Idea常用插件以及常用设置 Free MyBatis plugin 提供MyBatis的xml文件创建,xml与接口跳转、SQL提示等功能。 Translation 翻译工具,可以直接使用,也可配合有道云使用,有道智云 Rainbow Brackets 彩虹括号插件 Material Theme
阅读全文
摘要:SpringBoot中Interceptor和Filter的使用 如何使用拦截器和Filter FIlter:过滤器,它是Servlet中的一个概念,主要的作用是对数据进行过滤、校验、记录日志,权限验证等操作。 使用Filter 创建类,实现javax.servlet.Filter接口。 packa
阅读全文
摘要:阿里云短信工具类2020.8.5 最近项目中需要整合阿里云的短信发送,发现使用方式有变化,封装了一套新版的阿里短信工具类,供大家参考和使用~ 申请签名和模板 我们需要先登录阿里云官网,找到阿里云短信 短信模板和签名的申请不是本篇文章研究的重点,大家可以去官网自行申请~ 获取Access Key 成功
阅读全文
摘要:SpringBoot-actuator服务监控与管理 Spring Boot Actuator端点通过 JMX 和HTTP 公开暴露给外界访问,大多数时候我们使用基于HTTP的Actuator端点,因为它们很容易通过浏览器、CURL命令、shell脚本等方式访问。 Endpoints actuato
阅读全文
摘要:CentOS7 Redis的安装 简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过
阅读全文
摘要:Vue-cli的安装和使用 安装node环境 nodejs是一个JavaScript的运行环境,可以使得JavaScript不依赖浏览器运行。 由于我采用的Mac环境,所以安装方式略有不同,windows上安装node只需要在 node官网下载windows版本的msi包安装,会自动配置环境变量。
阅读全文
摘要:##读到关于这块知识点的两篇博文,感觉写的很好,保存一下~ 文章链接: https://www.cnblogs.com/st-leslie/p/5617130.html https://www.cnblogs.com/candy-xia/p/11561542.html
阅读全文
摘要:JavaScript for循环、数组高级语法 简介 本文主要介绍JavaScript中for迭代的几种方法,以及数组的三个高级方法(filter、map、reduce),本文会涉及到 = > 箭头函数,由于不是本文章研究的重点,请自行了解。 for和增强for迭代 存在数组如下: books: [
阅读全文
摘要:SpringBoot集成Swagger2 在团队开发中,一个好的 API 文档不但可以减少大量的沟通成本,还可以帮助一位新人快速上手业务。传统的做法是由开发人员创建一份 RESTful API 文档来记录所有的接口细节,并在程序员之间代代相传。 这种做法存在以下几个问题: API 接口众多,细节复杂
阅读全文
摘要:通用异常处理 在web层的方法中如果出现异常,SpringMVC会自动帮我们处理,并向前端返回500状态码以及错误信息。但是这样的错误信息是不合理的,我们应该自行处理异常,让用户看到一个相对友好的页面。 如何处理统一异常 我们在学习Spring的时候,了解过AOP的概念,利用AOP可以帮助我们处理全
阅读全文
摘要:SpringMVC文件上传的三种方法 此文章将介绍使用SpringMVC进行commons-fileupload、FTP、aliyunOSS三种文件上传和下载的案例。文件上传的解决方案还有很多,例如阿里的fastDFS等。这里就不做介绍了,有兴趣的小伙伴可以自行baidu学习~ 搭建项目 案例的po
阅读全文
摘要:Spring整合logback日志 SLF4J简介 SLF4J(Simple Logging Facade for Java)是一种日志规范,类似于JDBC,我们常用的日志log4j、logback等都实现了这个规范,所以我们可以直接使用SLF4J的规范来使用日志。 logback和log4j 它们
阅读全文
摘要:Java实现二维码的生成 二维码 (dimensional barcode) ,又称二维条码,是在一维条码的基础上扩展出的一种具有可读性的条码。设备扫描二维条码,通过识别条码的长度和宽度中所记载的二进制数据,可获取其中所包含的信息。相比一维条码,二维码记载更复杂的数据,比如图片、网络链接等。 当然了
阅读全文
摘要:跨域问题及解决方案 什么是跨域? 跨域是指跨域名的访问,以下情况都是跨域: 示例 跨域原因说明 域名不同 www.baidu.com与www.sina.com 域名相同,端口不同 www.rayfoo.cn:8080与 www.rayfoo.cn:8082 二级域名不同 blog.rayfoo.cn
阅读全文
摘要:SpringBoot项目直接在linux下运行 方法1: 首先要保证机器上已经成功安装了JDK环境。 使用以下命令来启动,其中>log.txt指定的是日志文件的名称 &必须要加上! # 断开ssh后会断开 Java -jar projectName.jar >log.txt & # 断开ssh后也会
阅读全文
摘要:SpringBoot拦截器中使用RedisTemplate 最近在做项目的过程中需要在拦截器中注入RedisTemplate对象,结果发现一只空指针。 拦截器代码如下: package com.moti.component; import org.springframework.web.servle
阅读全文
摘要:Nginx从安装到使用 简介 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由lgor Sysoev为俄罗斯访问量第二的站点(rambler.ru)开发,它已经在该站点上运行超过四年多了。lgor将源代码以类BSD许可证的形式发布。自N
阅读全文
摘要:ResponseEntity实现Rest风格的返回值 简介 在前面,我们使用了@ResponseBody注解和@RestController注解,其作用就不多说了,但是问题就来了,如果想向前段返回一个状态码该怎么实现呢? 我们知道响应头并不属于响应体,所以即使使用自己封装的Bean加入状态码属性,也
阅读全文