Spring
82 篇文章
spring
SpringBoot—统一API接口响应格式
实现统一 API 接口响应格式的方式有很多的,比如之前的ResponseBodyAdvice 和 RequestBodyAdvice,比如拦截器等,但是这里使用的不是这些而是从返回处理器中去自定义,H…
SpringBoot—自定义参数解析器
在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以通过如下方式获取参数: String name = request.getParame…
Spring—异步Http
前置概念 虽然现在看看Spring的异步模式看起来有点老,毕竟现在都Spring5的时代了,甚至将来肯定是webflux的时代,但是不可否认的是现在Servlet 仍然是主流,目前都是Servlet3…
SpringBoot—启动时执行
我们经常需要在容器启动的时候做一些钩子动作,比如注册消息消费者,监听配置等,今天就总结下SpringBoot留给开发者的7个启动扩展点。 容器刷新完成扩展点 1、监听容器刷新完成扩展点Applicat…
SpringBoot—三种跨域场景总结
我把 Spring Boot 中的跨域问题分为了三个场景: 普通跨域Spring Security 跨域OAuth2 跨域 分为三种并非多此一举,主要是因为这三种场景的配置都不太一样,而这三种场景又都…
Java—使用Jwt(Token令牌)
什么是JWT 提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。 令牌(Token)本身包含了一系列声明,应用程序可以根据这些声明限制用户对资源的…
Java—自定义注解
插入式注解处理API可以让你在编译期访问注解元数据,处理和自定义你的编译输出,像反射一样访问类、字段、方法和注解等元素,创建新的源文件等等。可用于减少编写配置文件的劳动量,提高代码可读性等等。 htt…
Mybatis-Plus—多数据源
特性 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密 ENC()。支持每个数据库独立初始化表结构schema和数据库database。支持 自…
Spring—RestTemplate的使用和原理
再此之前有关于RestTemplate的基本使用以及相关内容: http://www.enmalvi.com/2020/03/28/spring-resttemplate/ http://www.en…
SpringBoot—AntPathMatcher匹配原则和含义
在使用spring security做登陆鉴权。登陆界面相关CSS和JS,以及部分api接口需要忽略,于是代码中用到了anyMatchers。 @Override public void config…
SpringBoot—过滤器注册方式
1.@WebFilter 通过 @WebFilter 注解来标记一个过滤器,这种方式相信大家很容易想到。这是将 Servlet 中的那一套东西直接拿到 Spring Boot 上用。 具体做法就是通过…
SpringBoot—logback日志配置
spring boot可以适应所有日志框架,只需在类路径下包含相应的依赖来激活各种日志系统。 spring boot底层使用slf4j + logback框架来实现日志记录,所以如果想要自定义logb…
SpringBoot——RabbitMQ初步整合
何为队列(queue)? queue在计算机科学中随处可见,Queue是一个存储、组织数据的数据结构,其最大的特性就是FIFO; rabbitmq中queue是RabbitMQ的内部对象,用于存储消息…
SpringBoot—Thymeleaf ( 页面国际化 )
有的时候,我们的网站会去涉及中英文甚至多语言的切换,这时候我们就需要学习国际化了! 准备工作 先在IDEA中统一设置properties的编码问题! 编写国际化配置文件,抽取页面需要显示的国际化页面消…
SpringBoot—整合Druid(阿里巴巴数据库连接池)
Druid简介 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB…
SpringBoot—自动配置原理
配置文件到底能写什么?怎么写? SpringBoot官方文档中有大量的配置,我们无法全部记住 分析自动配置原理 我们以HttpEncodingAutoConfiguration(Http编码自动配置)…
SpringBoot—运行原理探究
我们之前写的HelloSpringBoot,到底是怎么运行的呢,Maven项目,我们一般从pom.xml文件探究起; pom.xml 父依赖 其中它主要是依赖一个父项目,主要是管理项目的资源过滤及插件…
SpringBoot—应用监控之Spring Boot Admin
Admin 简介 Spring Boot Admin 是 Spring Boot 应用程序运行状态监控和管理的后台界面。最新UI使用vue.js重写里。 Spring Boot Admin 为已注册的…
SpringBoot—应用监控之Spring Boot Actuator
Actuator 简介 Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能。通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、C…
SpringBoot—整合 Swagger2(API文档)
前后端分离后,维护接口文档基本上是必不可少的工作。 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却…
SpringBoot—中实现定时任务的两种方式 + 异步任务
在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Qua…
SpringBoot — 邮件发送的 5 种姿势
邮件发送其实是一个非常常见的需求,用户注册,找回密码等地方,都会用到,使用 JavaSE 代码发送邮件,步骤还是挺繁琐的,Spring Boot 中对于邮件发送,提供了相关的自动化配置类,使得邮件发送…
SpringBoot—ActiveMQ简单使用
最简单的使用(总目录): 1.先写配置文件 spring.activemq.broker-url=tcp://127.0.0.1:61616 //地址 spring.activemq.packages…
SpringBoot—使用WebSocket实现聊天功能(点对点单聊)
上一篇我们介绍了在Spring Boot框架下使用WebSocket实现消息推送,消息推送是一对多,服务器发消息发送给所有的浏览器,这次我们来看看如何使用WebSocket实现消息的一对一发送,模拟的…
SpringBoot—使用WebSocket消息推送(群聊)
WebSocket为浏览器和服务器之间提供了双工异步通信功能,也就是说我们可以利用浏览器给服务器发送消息,服务器也可以给浏览器发送消息,目前主流浏览器的主流版本对WebSocket的支持都算是比较好的…
SpringBoot—Spring Security 中使用 JWT ( 无状态登录 )
在前后端分离的项目中,登录策略也有不少,不过 JWT 算是目前比较流行的一种解决方案了,本文就和大家来分享一下如何将 Spring Security 和 JWT 结合在一起使用,进而实现前后端分离时的…
SpringBoot—SpringSecurity登录使用( JSON 格式数据 )
在使用 SpringSecurity 中,大伙都知道默认的登录数据是通过 key/value 的形式来传递的,默认情况下不支持 JSON格式的登录数据,如果有这种需求,就需要自己来解决。 基本登录方案…
SpringBoot—结合Oauth2(密码模式)
什么是OAuth2 OAuth 是一个开放标准,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等),而在这个过程中无需将用户名和密码提供给第三方应用。实现这一功能是…
SpringBoot—SpringSecurity(基于数据库的动态权限配置)
前面在这个讲了SpringSecurity 基于数据库的认证,但是这个认证中的用户认证是有问题的,因为里面的用户权限都是写死的,很难更改,所以用数据库的动态配置就能解决这个问题! http://www…
SpringBoot—SpringSecurity(角色继承问题)
角色继承实际上是一个很常见的需求,因为大部分公司治理可能都是金字塔形的,上司可能具备下属的部分甚至所有权限,这一现实场景,反映到我们的代码中,就是角色继承了。 Spring Security 中为开发…