
SpringBoot
文章平均质量分 91
SpringBoot学习
死牛胖子
在技术的路上渐行渐远
展开
-
Spring源码分析 | FactoryBean的使用及实现原理
Spring是目前使用最广泛的J2EE框架,主要包括IOC及AOP两部分功能,IOC即依赖注入,原创 2022-06-21 16:34:19 · 249 阅读 · 0 评论 -
Spring源码分析 | BeanFactoryPostProcessor的用法与源码分析
接口只提供了一个回调方法,通过该方法可以调整容器的属性。 还有一个子接口 ,该接口也提供了一个回调方法,通过该方法可以向容器注册 。 方法的回调时间在 方法之前,也就是说优先注册 。BeanFactoryPostProcessor 在容器启动过程中的执行时机Spring 应用通过 方法启动容器,在 中会对所有的 执行回调, 的执行时间是在完成 加载之后,执行 实例化之前。所以在 中可以修改容器属性,可以注册 ,但最好不要手动做 Bean 实例化,不然可能导致不可预知的错误。如何注册 B原创 2022-06-20 21:30:40 · 359 阅读 · 0 评论 -
Spring工具类AntPathMatcher的用法及源码分析
路径在很多地方都会使用,比如:文件名,URL地址等,JDK 提供了 Path 类用来表示路径。实际使用时,经常需要通过一个路径表示多个地址,比如,Spring 启动时的扫描路径,这就需要增加对通配符的支持,同时也就需要支持对通配符的匹配。Spring 设计了 PathMatcher 路径匹配器接口,用于支持带通配符的资源路径匹配。这个接口在 Spring 的多个地方得到应用,比如:PathMatchingResourcePatternResolver:资源扫描,启动时扫描并加载资源AbstractU原创 2022-05-25 10:52:20 · 7223 阅读 · 2 评论 -
SpringBoot2.0实战 | 第三十五章:整合Quartz之基于数据库动态管理任务
整合 Quartz,基于 mysql 实现对 Quartz 任务增删查改、暂停及恢复原创 2020-03-27 11:48:38 · 511 阅读 · 0 评论 -
SpringBoot2.0实战 | 第三十四章:整合Quartz之实现增删查改动态管理任务
整合 Quartz,实现使用 Quartz 定时任务增删查改、暂停及恢复原创 2020-03-27 11:47:09 · 727 阅读 · 1 评论 -
SpringBoot2.0实战 | 第三十三章:整合Quartz之最简配置
Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。原创 2020-03-27 11:45:33 · 444 阅读 · 0 评论 -
SpringBoot2.0实战 | 第三十一章:整合SpringSecurity之自定义MD5加密
在前面的文章中,我们已经基本完成对 SpringSecurity 的整合第二十四章:整合SpringSecurity之最简登录及方法鉴权第二十五章:整合SpringSecurity之使用数据库实现登录鉴权第二十六章:整合SpringSecurity之JSON格式前后端交互第二十七章:整合SpringSecurity之前后端分离使用Token实现登录鉴权第二十八章:整合SpringSec...原创 2020-03-26 16:13:53 · 611 阅读 · 0 评论 -
SpringBoot2.0实战 | 第三十章:整合SpringSecurity之基于SpEL表达式实现动态方法鉴权
在前面的文章中,我们已经实现了对登录操作,实现数据库鉴权,对当前登录用户的登录状态实现了权限控制。第二十四章:整合SpringSecurity之最简登录及方法鉴权第二十五章:整合SpringSecurity之使用数据库实现登录鉴权用户登录成功后,会加载当前用户的角色至内存,至于哪个角色可以访问哪些方法,则是通过 SpringSecurity 提供的方法鉴权来实现。通过 @EnableG...原创 2020-03-23 17:16:07 · 916 阅读 · 1 评论 -
SpringBoot2.0实战 | 第二十九章:整合SpringSecurity之Swagger单元测试传递Token
相关知识通过前面的文章,我们实现了使用 JWT 进行接口鉴权,请求接口时需要在 Header 头中传递 Token,这样后端才能够识别请求者身份,判断接口是否可以被请求。JWT接口鉴权同时,我们也实现了使用 Swagger2 自动生成接口文档,并在 Swagger2 提供的 HTML 页面直接进行单元测试。Swagger2单元测试在实际项目中,鉴权跟文档都是必须的,所以本文...原创 2020-03-10 18:14:27 · 2560 阅读 · 0 评论 -
SpringBoot2.0实战 | 第二十八章:整合SpringSecurity之前后端分离使用JWT实现登录鉴权
相关知识什么是 JWT请参考阮一峰博客 http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html,里面有比较详尽的介绍。目标整合 SpringSecurity 实现使用 JWT 进行鉴权。准备工作创建用户表 user、角色表 role、用户角色关系表 user_role,因为 JWT 本身就是用户信息,所以不...原创 2020-01-14 11:59:07 · 791 阅读 · 0 评论 -
SpringBoot2.0实战 | 第二十七章:整合SpringSecurity之前后端分离使用Token实现登录鉴权
相关知识目前大部分项目都使用了前后端分离的架构模式,因为客户端不再是单纯的网页,还可以是手机,平板,公众号,小程序等等,很重要的是,不是每一个客户端都能够支持 session+cookie 的模式,于是,token 模式开始大行其道,其实 token 跟 session+cookie 模式本质上是一样的,只是 cookie 由浏览器定义了客户端存储模式,这对于不是浏览器的客户端则行不通,而...原创 2020-01-14 11:50:21 · 2567 阅读 · 3 评论 -
SpringBoot2.0实战 | 第二十六章:整合SpringSecurity之前后端分离使用JSON格式交互
目标默认情况下,SpringSecurity 提供了用户名/密码的登录方式,但实际应用中,登录方式多种多样,可以用手机号/短信验证码,也可以第三方授权等。本章将整合 SpringSecurity 实现使用自定义格式进行登录,并使用 json 方式进行前后端交互。准备工作创建用户表 user、角色表 role、用户角色关系表 user_roleCREATE TABLE `role` ( ...原创 2020-01-14 11:45:25 · 694 阅读 · 1 评论 -
SpringBoot2.0实战 | 第二十五章:整合SpringSecurity之基于数据库实现登录鉴权
目标整合 SpringSecurity 及 MybatisPlus 实现使用读取数据库数据进行登陆鉴权准备工作创建用户表 user、角色表 role、用户角色关系表 user_roleCREATE TABLE `role` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `rolename` varchar(32) NOT NULL COMME...原创 2020-01-14 11:42:51 · 781 阅读 · 2 评论 -
SpringBoot2.0实战 | 第二十四章:整合SpringSecurity之最简登录及方法鉴权
目标整合 SpringSecurity 实现最简登陆鉴权操作步骤添加依赖引入 Spring Boot Starter 父工程<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artif...原创 2020-01-14 11:38:49 · 341 阅读 · 2 评论 -
SpringBoot2.0实战 | 第二十章:整合RabbitMQ实现定时邮件发送
相关知识延迟队列实现可参考 https://blog.youkuaiyun.com/gongm24/article/details/103915040目标整合 RabbitMQ 利用延迟队列的特性实现发送定时邮件流程如下:Created with Raphaël 2.2.0客户端发送邮件是否定时发送定时邮件延迟邮件队列(EmailDelayQueue)是否到期邮件队列(MailQueue)消费消息发...原创 2020-01-10 04:35:08 · 883 阅读 · 0 评论 -
SpringBoot2.0实战 | 第十三章:整合fluent-validator优雅业务校验
相关知识FluentValidator是一个工具类库,使用流式(Fluent Interface)调用风格让校验跑起来更优雅,代码更简洁,同时验证器(Validator)可以做到开闭原则,实现最大程度的复用。github地址:https://github.com/neoremind/fluent-validator中文使用手册:http://neoremind.com/2016/02/jav...原创 2019-12-26 19:19:28 · 2262 阅读 · 0 评论 -
SpringBoot2.0实战 | 第一章:快速构建Web应用
本章目标使用 SpringBoot 完成一个简单的 Web 应用程序开发,初步体验 SpringBoot 快速、简洁的特性。操作步骤构建项目打开 Idea,依次选择 File -> New -> Module,打开 Module 面板。左侧栏选择 Maven,点击下一步。填写 groupId、artifactId、version,点击下一步。填写项目名,一般保持与 art...原创 2019-05-15 15:03:19 · 877 阅读 · 0 评论 -
SpringBoot整合Mybatis(三)集成Mybatis Generator进行代码自动生成
在实际的业务开发中,大量的数据库操作都是增删查改,一个复杂点的系统会有几百上千个表,如果针对每个表都编写其增删查改的方法,也是一个很大的工作量,如果可以使用代码自动生成,则可以省下大量工作,而Mybatis Generator正好可以处理这个问题。准备1、创建一个新的工程这个工程专门用于生成代码,代码生成后,再手动拷贝至项目工程中,如果直接在项目工程中生成,则会直接覆盖文件,可能会...原创 2018-04-10 15:51:31 · 2581 阅读 · 1 评论