Spring
文章平均质量分 68
buffeer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第21章 OAuth2LoginAuthenticationWebFilter 之AuthenticationSuccessHandler
当认证成功后(获取用户信息),会进行认证成功回调。我们可以配置自定义的Handler来处理认证成功后业务代码。原创 2022-08-21 17:03:43 · 1359 阅读 · 1 评论 -
第20章 OAuth2LoginAuthenticationWebFilter 之ReactiveAuthenticationManager认证授权管理器
在上一篇我们分析了如何把请求转换成 Authentication 认证信息对象。接下来,我们将分析ReactiveAuthenticationManager如何来认证授权,它内部的工作流程是如何的。原创 2022-08-21 17:00:04 · 2827 阅读 · 0 评论 -
第19章 OAuth2LoginAuthenticationWebFilter 之ServerAuthenticationConverter
当然,如果我们不想使用默认的实现类,我们也可以自己单独配置。return http . csrf() . disable() . oauth2Login(oauth2Login -> oauth2Login // 传入自定义的 ServerAuthenticationConverter 实现类 . authenticationConverter(. . .) . build();} }...原创 2022-08-14 16:02:09 · 1308 阅读 · 1 评论 -
第18章 OAuth2LoginAuthenticationWebFilter 之请求匹配器ServerWebExchangeMatcher
在上一篇我们分析到了OAuth2LoginAuthentiationWebFilter会拦截匹配成功的请求路径。哪些请求路径会被拦截、如何去自定义要拦截的请求路径。这两个问题将是今天的主题。原创 2022-07-18 17:59:40 · 1079 阅读 · 2 评论 -
第17章 OAuth2LoginAuthenticationWebFilter 源码解析
SpringBoot OAuth2 Client的授权核心由两个过滤器来实现:OAuth2LoginAuthenticationWebFilter过滤器就是今天主要分析的主角。OAuth2LoginAuthenticationWebFilter过滤器依赖很多类:实现了如下功能:以下思维导图主要描述OAuth2LoginAuthenticatioinWebFilter依赖的类,方便我们能够对其清晰直观的了解。OAuth2LoginAuthticationWebFilter过滤器继承了 Authenticat原创 2022-07-10 10:43:46 · 839 阅读 · 0 评论 -
第16章 OAuth2AuthorizationRequestRedirectWebFilter源码解析
OAuth2AuthorizationRequestRedirectWebFilter 过滤器源码分析原创 2022-07-03 09:52:18 · 760 阅读 · 0 评论 -
第15章 Spring Security OAuth2 初始
Spring Security OAuth Login 认证授权原创 2022-07-02 16:13:36 · 1240 阅读 · 0 评论 -
第14章 Spring的MySQLMaxValueIncrementer深入分析与扩展
取号这种需求在开发中有时候很常见,例如:银行办理业务时候就需求取号。那如何去实现一种高效、可靠的取号呢?对于取号这种需求,我们首先需要保证取号不能重复,也就是说保证分布式系统取号也不能重复。有可能我们会首先想到基于Redis的incr命令可以高效、快速实现,但是缺点是当Redis宕机后,有可能造成数据丢失,导致取号重复。另一种方案就是基于MySQL实现,也就是今天的主题 MySQLMaxValueIncrementer。源码分析创建 MySQLMaxValueIncrementer 对象时,需要指定表原创 2022-04-23 11:03:53 · 966 阅读 · 0 评论 -
第13章 Spring的@Autowired注解深入分析
@Autowired 注解支持属性注入、构造函数、方法注入。注入点也支持普通对象注入、数组、List、Map、泛型对象注入。@Configuration@ComponentScanpublic class AccountConfig4 { @Bean public FileService fileService() { return new FileService(){}; } @Bean public FileService fileService2() { return ne原创 2022-04-18 21:56:04 · 389 阅读 · 0 评论 -
第12章 Spring的Import注解深入分析
Import注解用来导入Bean对象到Spring容器中,最常用就是导入被 @Configuration 标识的配置类。@Import 注解允许导入 @Configuration 类、ImportSelector、ImportBeanDefinitionRegister的实现类。使用导入普通类定义 Car 类,然后通过 @Import 注解把 Car 导入Spring容器中,无须手动注入它。public class Car { }定义配置类,使用 @Import 注解标识。注意:即时配置类原创 2022-04-04 15:46:26 · 571 阅读 · 0 评论 -
第11章 MetadataReader使用
在上一章中,看到了 MetadataReader 的身影,这一章就来学习 MetadataReader 方法,以便以后可以借助它快速地开发。MetadataReaderMetadataReader 是用来读取 class 的元数据的类。public interface MetadataReader { // Return the resource reference for the class file. Resource getResource(); // Read basic原创 2022-03-27 10:47:59 · 1371 阅读 · 1 评论 -
第10章 Spring的ComponentScan注解深入分析
第16章 Spring的ComponentScan注解深入分析@ComponentScan 注解和 @Configuration 注解结合使用,默认是用来扫描指定包下的被@Compoent 注解的类。@ComponentScan 注解有一些属性,如下所示。@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.TYPE})@Documented@Repeatable(ComponentScans.class)public @interfac原创 2022-03-27 10:46:10 · 346 阅读 · 0 评论 -
SpringBoot Validator
在开发中,往往需要对应前端穿过来的参数进行校验,有时候会显得参数校验过于臃肿,但是又不得不做。这里引入 Hibernate Validator ,它支持属性、字段、返回值、方法参数、类级别的校验,而且SpringBoot可以很轻松集成。Maven<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation原创 2022-03-21 22:44:34 · 1423 阅读 · 0 评论 -
第8章 Spring加载Bean流程以及常用扩展点
加载Bean流程这里画了Bean加载简版流程图。主要是为了搞清楚几个扩展加载顺序。常用扩展点1.AwareAware 接口都是用来感知的。BeanNameAware 用来感知Bean对象被容器管理的beanNameBeanClassLoaderAware 可以给Bean对象设置类加载器BeanFactoryAware 给Bean对象设置BeanFacory对象Spring 在初始化Bean对象时,对Aware接口的处理private void invokeAwareMethods(Str原创 2022-03-06 15:18:44 · 541 阅读 · 0 评论 -
第7章 Spring的注解@PropertySource 使用与深入理解
@PropertySource 注解用来增加 PropertySource 到 Spring 的 Environment 中。和 @Configuration 注解结合使用。使用例子给一个指定文件 app.properties 包含一个键值对 bean.name=java.lang.String。@PropertySource 会把 app.properties 放入到 Environment 里。@Configuration@PropertySource("classpath:/app.prope原创 2022-02-19 17:46:29 · 2272 阅读 · 0 评论 -
第6章 Spring的工具类AnnotationMetadata
Spring提供许多工具类,AnnotationMetadata 就是其中之一。AnnotationMetadata 是用来访问指定类上的注解,处理注解非常方便。本章节就是来学习一些API。前置条件maven需要引入Spring、assertj-core包。代码public class AnnotationMetadataTest { @Test void standardAnnotationMetadata() { AnnotationMetadata metad原创 2022-02-18 10:28:30 · 2435 阅读 · 0 评论 -
第5章 仿写Spring的定时任务Task
第5章 仿写Spring的定时任务Task在第4章 Spring 定时任务 分析Spring实现定时任务的源码。本章节是自定义注解 @EnableScheduling2、@Scheduled2 来实现定时任务的功能。本章节主要照着Spring源码进行仿写,省略一些复杂的步骤,主要用来加深源码的理解。考虑到代码比较多,直接贴上GitHub地址:task-joy。希望喜欢的小伙伴给一些赞????效果编写启动类,使用@EnableScheduling2 注解@SpringBootApplication原创 2022-02-16 15:36:44 · 197 阅读 · 0 评论 -
第4章 Spring 定时任务
在开发系统时,有时候我们会碰到一些需求,需要由定时任务来完成。SpringBoot开启定时任务很简单。由 @EnableScheduling 和 @Scheduled 来完成。启动@SpringBootApplication@EnableSchedulingpublic class DatApplication { public static void main(String[] args) { SpringApplication.run(DatApplication.cla原创 2022-02-14 16:26:14 · 592 阅读 · 0 评论 -
第3章 ApplicationRunner 和 CommandLineRunner 服务启动加载配置
第3章 ApplicationRunner 和 CommandLineRunner 服务启动加载配置SpringBoot 提供了 ApplicationRunner 和 CommandLineRunner 接口,可以用来在服务器启动后,自定义去加载一些配置。例如,我们可以在服务启动后,加载数据库数据等。使用我们可以定义多个 ApplicationRunner 或 CommandLineRunner 的实现类。如果想要控制执行的顺序,可以加 @Order() 进行控制。@Componentpubl原创 2021-11-15 16:53:18 · 853 阅读 · 0 评论 -
第2章 Spring 订阅与发布的原理
目录注册事件广播器注册事件监听器加载事件监听器发布事件处理事件在之前了解Spring的订阅与发布是如何使用以后,我们来看Spring是如何实现订阅与发布。Spring的订阅与发布主要分为四个模块:注册事件广播器 ApplicationEventMulticaster注册事件监听器 ApplicationEventListener发布事件处理监听事件注册事件广播器Spring在注册事件广播器时,会调用 AbstractApplicationContext#refresh 方法。这个方法是用来原创 2021-11-07 17:50:37 · 706 阅读 · 0 评论 -
第1章 Spring 订阅与发布
Spring 的订阅与发布事件功能是非常有用的。要使用Spring的订阅与发布事件功能,需要以下步骤:在Spring 4.2版本之前,自定义的 Event 需要继承 ApplicationEvent ;在Spring 4.2版本开始,自定义的 Event 不再需要继承 ApplicationEvent。事件发布者需要注入 ApplicationEventPublisher事件监听者需要实现 ApplicationListener 接口发布与监听事件自定义事件public class MyEv原创 2021-11-06 15:40:10 · 492 阅读 · 0 评论
分享