![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
Gent_倪
吹灭读书灯,一身都是月。
展开
-
OAuth2.0入门(二)—— spring-security-oauth2入门例子JDBC存储(超详细版)下篇
上一篇文章:OAuth2.0入门(二)—— spring-security-oauth2入门例子JDBC存储(超详细版)上篇本文我们继续上一篇文章的内容来讲解下oauth2-resource-server模块和oauth-client模块。一、oauth2-resource-server模块oauth2-resource-server模块是作为资源服务器,pom文件如下:...原创 2019-12-26 14:47:06 · 948 阅读 · 2 评论 -
OAuth2.0入门(二)—— spring-security-oauth2入门例子JDBC存储(超详细版)上篇
前言:本文是OAuth2.0实践篇,阅读之前需要先掌握OAuth2.0基本原理,原理介绍见:OAuth2.0入门(一)—— 基本概念详解和图文并茂讲解四种授权类型 本章将采用微服务架构方式,将OAuth2-Demo拆分成三个模块:oauth2-authentication-server(作为授权认证中心)、oauth2-resource-server(作为资源服务器)、...原创 2019-12-24 16:33:19 · 3125 阅读 · 0 评论 -
Spring Security 认证流程详解
1、认证流程说明Spring Security实际上是通过一组过滤器链来对请求进行拦截操作的,如下图所示: 其中UsernamePasswordAuthenticationFilter和BasicAuthenticationFilter是两个核心过滤器。而FilterSecurityInterceptor会对之前这些核心过滤器进行相应判断,并抛出异常(例如身份认证没有通过)...原创 2019-12-24 10:21:17 · 1416 阅读 · 0 评论 -
OAuth2.0入门(一)—— 基本概念详解和图文并茂讲解四种授权类型
OAuth全称为Open Authorization(开放授权)。OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。——引用自百度百科一、为什么需要OAuth2.0协议...原创 2019-11-29 15:50:15 · 5253 阅读 · 0 评论 -
Sentinel: 分布式系统的流量防卫兵
1、Sentinel 介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel具有以下特征: 丰富的应用场景: Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、实...原创 2019-11-12 17:56:32 · 770 阅读 · 0 评论 -
Spring Data JPA —— Audit 使用审计功能(附enum和jsonb如何映射到数据库)
Spring Data JPA 提供了Audit审计功能,用来记录创建时间、创建人、修改时间、修改人等,对应的注解为@CreateDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy。下面来详细讲解下如何使用。1、启用Audit功能@EnableJpaAuditing注解用于启动JPA的Audit审计功能。需要注意的是,@Create...原创 2019-11-06 14:13:17 · 1365 阅读 · 0 评论 -
STOMP实践:点对点和广播通信(系统推送公告和用户聊天功能)
前言 正如上文:WebSocket实践:建立一个Web QQ应用 所言,并不是所有的浏览器都能够支持WebSocket协议,为了使得WebSocket的应用能够兼容那些不支持的浏览器,我们可以使用STOMP协议进行处理。关于WebSocket协议的一点补充: http协议是无状态协议,即每次请求时都不知道前面发生了什么。而且请求只能由浏览器发起,服务器只能...原创 2019-02-22 13:32:36 · 2688 阅读 · 0 评论 -
Spring:项目国际化
前言 在我们开发 javaWEB 项目的时候,项目可能涉及到在国外部署或者应用,也有可能会有国外的用户对项目进行访问 ,那么在这种项目中,为客户展现的页面或者操作的信息就需要使用不同的语言,这就是我们所说的项目国际化(internationalization:也称为i18n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母)。...原创 2019-02-18 16:24:36 · 755 阅读 · 0 评论 -
Spring:异步线程池和定时器
一、异步线程池在Spring中存在一个AsyncConfigurer接口,它是一个可以配置异步线程池的接口,它的源码如下:package org.springframework.scheduling.annotation;import java.util.concurrent.Executor;import org.springframework.aop.interceptor.A...原创 2019-02-19 15:00:11 · 546 阅读 · 0 评论 -
WebSocket实践:建立一个Web QQ应用
前言 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。相关阅读: 简单易懂理解WebSocket 轮询和长连接的优缺点1、We...原创 2019-02-20 10:51:50 · 281 阅读 · 0 评论 -
Spring Boot:使用Actuator监控端点
1、Actuator依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency&g原创 2019-02-25 17:03:47 · 2503 阅读 · 0 评论 -
Spring Boot:项目打包、部署及运行
1、打包项目打包可使用maven命令行或IDE,这里以IDEA为例进行打包。1、1 打开Project Structure,按下图所示进行操作。1、2 如下图所示,Module选择需要打包的项目名;Main Class 选择项目的主程序类;输出目录确保是空的。1、3 在配置好后,就可以开始打包了。其中Build为初次打包使用,而Rebuild为再次打包,Clea...原创 2019-02-25 17:40:27 · 468 阅读 · 0 评论 -
JWT+SpringSecurity实现基于Token的单点登录(一):前期准备
前言 鉴于整个项目非常庞大,所以本项目将拆分成几篇文章来详细讲解。这篇文章是开篇,将使用mysql数据库,Druid连接池,JPA框架来搭建一个基础的用户权限系统。 原本还想写个理论篇的,介绍JWT和SpringSecurity的认证机制,但是网上关于这方面的教程较多,就不班门弄斧了。下面贴出几个理论文章,建议弄懂理论部分在来看本系列。10分钟了解JSON Web令牌...原创 2019-03-08 15:55:28 · 3626 阅读 · 2 评论 -
JWT+SpringSecurity实现基于Token的单点登录(二):认证和授权
前言本章是基于上一章“JWT+SpringSecurity实现基于Token的单点登录(一):前期准备”的基础上进行开发的,如果前期准备还没有做好的,可点击链接至上一章。代码地址:gitee一、JWT工具类这里我们使用jjwt来构建我们的Token。首先导入jjwt的依赖包。 <!--JWT--> <dependency&g...原创 2019-03-10 18:04:35 · 9630 阅读 · 15 评论 -
在SpringBoot中使用Redis缓存
前言本项目主要采用H2作为数据库,Durid作为连接池,JPA作为持久层框架,Redis作为缓存。注:本章与之前的使用H2Database+Druid连接池+Spring Data JPA+Ehcache实现CRUD操作,大同小异,所不同的是这里使用的是Redis缓存。如果相关概念不清楚,请查看上篇。 一、导入依赖包<?xml version="1.0" encodin...原创 2019-01-21 15:36:33 · 403 阅读 · 0 评论 -
在Spring中使用Redis的高级功能(事务、消息队列、Lua脚本等)
前言 上一篇文章“在Spring中配置使用Redis”中,我们了解了如何在Spring中操作Redis的五种基本数据类型并写入Redis数据库中。而Redis除了操作那些数据类型的功能外,还能支持事务、流水线、发布订阅(消息队列)和Lua语言等功能。这些也是Redis的常用功能。在高并发的场景中,往往我们需要保证数据的一致性,这时可以考虑使用Redis事务或者利用Redis执行L...原创 2019-01-21 14:58:52 · 746 阅读 · 0 评论 -
Spring MVC的拦截器
前言 当请求到达DispatcherServlet时,它会根据HandlerMapping的机制找到处理器,这样就会返回一个HandlerExecutionChain对象,这个对象包含处理器和拦截器。这里的拦截器会对处理器进行拦截,这样通过拦截器就可以增强处理器的功能。一、HandlerInterceptor源码分析在Spring MVC中,所有的拦截器都是通过实现Ha...原创 2019-01-25 17:00:52 · 140 阅读 · 0 评论 -
在Spring中使用连接池和JdbcTemplate
原文地址:https://blog.csdn.net/fancheng614/article/details/85543816一、Spring数据访问简介1、Spring数据访问方式 可以使用JDBC、Hibernate、Java持久化API、Mybatis或任意的持久化框架。2、数据访问模块化 Spring提供了多个可选的模板,如果直接使用JDB...转载 2019-01-10 15:30:57 · 542 阅读 · 0 评论 -
在Spring中使用缓存
相关阅读:关于缓存的进阶了解:关于缓存你需要知道的 一、启用对缓存的支持Spring对缓存的支持有两种方式:注解驱动的缓存(推荐使用) XML声明的缓存 1、使用注解驱动的缓存配置使用Java配置的话,只需要在其中的一个配置类上添加@EnableCaching,这样的话就能启动注解驱动的缓存。如:package spittr.config;import org.s...原创 2019-01-10 16:33:13 · 364 阅读 · 0 评论 -
Spring Data JPA学习导引
Spring-data-jpa 学习笔记(一)Spring-data-jpa 学习笔记(二)JPA之使用JPQL语句进行增删改查原创 2019-01-11 14:05:46 · 175 阅读 · 0 评论 -
在Spring中使用远程服务
概述本章主要讲述了如何在Spring中使用远程服务,如RMI,Caucho的Hessian和Burlap,HttpInvoker,Web Service等。进阶阅读:java 几种远程服务调用协议的比较一、Spring远程调用概览 远程调用是客户端应用和服务端应用之间的会话。在客户端,它所需要的一些功能并不在该应用的实现范围之内,所以应用要向能提供这些功能的其他系...原创 2019-01-11 15:58:46 · 333 阅读 · 0 评论 -
在Spring中配置使用Redis
前言1、Redis是什么 Redis是一种运行在内存中的数据库,支持七种数据类型(常用的只有五种)的存储。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。2、相关阅读 在阅读本章之前,读者需要掌握Redis的基本使用: Redis教程 ...原创 2019-01-18 10:21:15 · 3509 阅读 · 0 评论 -
Spring AOP之概念篇
一、AOP相关术语横切关注点(cross-cutting concern):散布于应用中多处的功能。切面(aspect):通知和切点的结合。通知(advice):前置通知(Before)、后置通知(After)、返回通知(After-returning)、异常通知(After-throwing)、环绕通知(Around) 执行顺序:Around --> Befo...原创 2019-01-08 15:43:29 · 172 阅读 · 0 评论 -
Spring AOP之实战篇
前言Spring AOP原理不清楚的,可先看上一篇博客:Spring AOP之概念篇一、JavaConfig方式创建切面1、首先看下项目目录结构2、pom.xml引入所需包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...原创 2019-01-08 15:53:29 · 147 阅读 · 0 评论 -
后端数据校验最详细Demo
前言 数据校验是交互式网站一个不可或缺的功能,前端的js校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用的校验。但是为了避免用户绕过浏览器,使用http工具直接向后端请求一些违法数据,服务端的数据校验也是必要的,可以防止脏数据落到数据库中等等。 一、数据校验的两种方式1、基于注解形式的数据校验JSR提供的校验注解: @...原创 2019-01-08 16:43:36 · 7952 阅读 · 5 评论 -
[转]Spring MVC最详细教程
Spring MVC【入门】就这一篇! MVC 设计概述在早期 Java Web 的开发中,统一把显示层、控制层、数据层的操作全部交给 JSP 或者 JavaBean 来进行处理,我们称之为 Model1:出现的弊端:JSP 和 Java Bean 之间严重耦合,Java 代码和 HTML 代码也耦合在了一起要求开发者不仅要掌握 Java ,...转载 2019-01-08 16:58:13 · 190 阅读 · 0 评论 -
实战:在SpringBoot中使用MongoDB
前言MongoDB基础教程: MongoDB教程合集 MongoDB教程(易百教程)spring-data-mongodb注解: Spring中MongoDB注解概念及使用一、pom.xml依赖配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.o...原创 2019-01-24 13:40:19 · 323 阅读 · 0 评论 -
Spring Security最简单全面教程(带Demo)
一、Spring Security简介 Spring Security是为基于Spring的应用程序提供声明式安全保护的安全性框架,它提供了完整的安全性解决方案,能够在web请求级别和方法调用级别处理身份证验证和授权。因为基于Spring框架,所以Spring Security充分利用了依赖注入和面向切面的技术。 Spring Security主要是从两个方面解决安全性问...原创 2019-01-09 17:28:22 · 55510 阅读 · 6 评论 -
Spring:自定义PDF视图
前言 在Spring中视图分为逻辑视图和非逻辑视图。逻辑视图是需要视图解析器(ViewResolver)去定位解析的,如:JstlView等。而非逻辑视图则不需要定位视图的物理位置,它只需要直接将数据模型进行渲染展示给用户即可,如:MappingJackson2JsonView(它会将数据模型渲染为Json数据集返回给用户),以及本文中使用的AbstractPdfView。...原创 2019-01-25 13:46:12 · 617 阅读 · 0 评论 -
Spring IOC之总结篇
一、前言 本人最近刚看完《Spring实战 第四版》这本书,也整理写了一些demo。本着复习和分享的心态,题主从今天开始会陆续分享一些Spring的相关教程,欢迎各位来查看评论。二、Spring IOC概念解析 由于网上对Spring IOC的相关概念已经有了很清晰的讲解了,题主在此就不赘述了。这里推荐一篇文章谈谈对Spring IOC的理解,该篇通俗易懂解释了什么是IO...原创 2019-01-04 15:44:30 · 254 阅读 · 0 评论