随笔分类 - Spring Boot/Cloud
Spring全家桶
摘要:1. 简介 随着现在主流的前后端分离模式开发越来越成熟,接口文档的编写和规范是一件非常重要的事。简单的项目来说,对应的controller在一个包路径下,因此在Swagger配置参数时只需要配置一个包路径即可。但是对于复杂的项目,往往需要分模块开发,因此对应的controller包存在多个,所以需要
阅读全文
摘要:1. 简介 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。
阅读全文
摘要:1. 简介 Spring Security是一个功能强大且易于扩展的安全框架,主要用于为Java程序提供用户认证(Authentication)和用户授权(Authorization)功能。 本文将之前博客 SpringBoot2.x集成Quartz实现定时任务管理(持久化到数据库) 改为使用Spr
阅读全文
摘要:1. Quartz简介 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目。 Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。 Quartz可以与J2EE与J2SE应用程序相结合也可以单独使
阅读全文
摘要:1. 简介 在之前博客:SpringBoot基于JustAuth实现第三方授权登录 和 SpringBoot + Layui +Mybatis-plus实现简单后台管理系统(内置安全过滤器)上改造,除了原始的用户名和密码登录外,增加第三方登录认证。 2. 改造流程 在登录页增加第三方系统登录链接 第
阅读全文
摘要:1. 简介 layui(谐音:类UI)是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到API的每一处细节都经过精心雕琢,非常适合界面的快速开发。 (1)为服务端程序员量身定做
阅读全文
摘要:1. 跨站点请求伪造 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。 原因:应用程序使用的认证方法不充分。 固定值:验证“Referer”头的值,并对每个提交的表单使用 one-time-nonce。 2. pom
阅读全文
摘要:1. SQL盲注、SQL注入 风险:可能会查看、修改或删除数据库条目和表。 原因:未对用户输入正确执行危险字符清理。 固定值:查看危险字符注入的可能解决方案。 2. pom.xml添加依赖 <dependency> <groupId>org.springframework.boot</groupId
阅读全文
摘要:1. 跨站点脚本编制 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。 原因:未对用户输入正确执行危险字符清理。 固定值:查看危险字符注入的可能解决方案。 2. pom.xml添加依赖 <dependency> <g
阅读全文
摘要:1. 简介 随着科技时代日渐繁荣,越来越多的应用融入我们的生活。不同的应用系统不同的用户密码,造成了极差的用户体验。要是能使用常见的应用账号实现全应用的认证登录,将会更加促进应用产品的推广,为生活增加无限乐趣。 本文基于JustAuth实现第三方授权登录,选择JustAuth原因如下: 支持Gith
阅读全文
摘要:1. 简介 基于tobato的fastdfs-client是一个功能完善的FastDFS客户端工具,它是在FastDFS作者YuQing发布的客户端基础上进行了大量的重构,提供了上传、下载、删除、生成缩略图等API。 2. 安装FastDFS Docker部署FastDFS(附示例代码) 3. 示例
阅读全文
摘要:1. FastDFS简介 FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件(建议:4KB ~ 500MB)为载体的在线服务,如相册网站、视频网站等等。 FastDFS系统有三个
阅读全文
摘要:1. 简介 随着前后端分离开发模式越来越流行,编写接口文档变成了开发人员非常头疼的事。而Swagger是一个规范且完整的web框架,用于生成、描述、调用可视化的RESTful风格的在线接口文档,并解决手写文档时编写和更新以及测试的复杂问题。 2. 示例代码 创建项目 修改pom.xml <proje
阅读全文
摘要:1. 简介 在单体项目中,经常出现想要访问多个数据源的情况,或者因为某些性能瓶颈,将大数据量的业务表分离到另一个库等情况。 实现多数据源的方案有很多,Mybatis-Plus提供了非常简单的实现方案,以此为例。 2. 示例代码 创建数据库及初始化表数据 CREATE DATABASE `db_mas
阅读全文
摘要:1. MQ MQ(Message Queue),消息队列,是生产者和消费者模型中传递信息的容器,主要用于线程或进程之间通信。 MQ主要的应用场景为:应用解耦、异步处理,流量削锋,日志处理等。 应用解耦:假设应用要与应用B、C、D通信,当某个应用挂掉或者进行调整后,其他应用都做出相应的调整。但是使用M
阅读全文
摘要:1. 前提 本文在基于SpringBoot整合SpringSecurity实现JWT的前提中添加刷新Token以及添加Token黑名单。在浏览之前,请查看博客: SpringBoot + SpringSecurity + Mybatis-Plus + JWT实现分布式系统认证和授权 2. 添加Red
阅读全文
摘要:1. 简介 Spring Security是一个功能强大且易于扩展的安全框架,主要用于为Java程序提供用户认证(Authentication)和用户授权(Authorization)功能。 用户认证指的是验证某个用户是否合法,即验证用户名密码是否正确;用户授权指的是验证用户是否拥有访问资源的权限。
阅读全文
摘要:1. 部署Docker Docker 安装并部署Tomcat、Mysql8、Redis 2. 创建示例项目 创建项目 修改pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2
阅读全文
摘要:1. 简介 SpringBoot项目部署虽然简单,但是经常因为修改了少量代码而需要重新打包上传服务器重新部署,而公网服务器的网速受限,可能整个项目的代码文件仅仅只有1-2MB甚至更少,但是需要上传几十MB甚至更大的jar包而受限整体的部署速度。 项目基本稳定后,lib引入的jar很少再有更新了,假如
阅读全文
摘要:1. Consul简介 Consul是HashiCorp公司推出的开源软件,它提供了一套分布式高可用可横向扩展的解决方案,能为微服务提供服务治理、健康检查、配置共享等能力。 Eurake2.x停止更新后,Spirng Cloud官网也推荐使用Consul实现服务注册与发现。并且可以代替Sping C
阅读全文

浙公网安备 33010602011771号