
spring
文章平均质量分 90
ChirsPaul3
这个作者很懒,什么都没留下…
展开
-
SpringBoot启动流程详细分析
SpringBoot启动流程详细分析1.写在前面SpringBoot框架作为Java开发领域最常用的框架,没有之一。今天就来扯一下实现原理,我们主要关注的时整个框架的启动流程,尤其是Web应用的启动。SpringBoot是基于Spring框架的注解来实现的,SpringBoot程序的启动会调用Spring框架本身的一系列创容器,刷新容器等步骤,真是Spring本身的知识,不再这篇详细介绍,大家可以看一下spring源码深度分析,里面比肩详细的介绍了Spring框架的启动分析。以下的源码是基于Sprin原创 2021-03-27 21:22:31 · 582 阅读 · 0 评论 -
@AliasFor注解详细说明
@AliasFor注解详细说明@AliasFor是Spring框架的一个注解,用于声明注解属性的别名。它有两种不同的应用场景。注解内的别名元数据的别名两者主要的区别在于是否在同一个注解内。1.注解内的别名我们先来看一下@AliasFor的源码@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)@Documentedpublic @interface AliasFor { /** * Alias f原创 2021-03-19 22:14:12 · 17108 阅读 · 7 评论 -
Spring框架AOP源码分析
Spring框架AOP源码分析1.写在前面做java开发的不可能不适用spring框架,我们都知道spring框架的两个基础功能就是Ioc和aop,相比来说Ioc会应用的更广泛一些,但aop同样重要,今天就来详细分析一下spring的aop的实现原理,会深入spring源码级别,对于spring不太熟悉的同学来说可能有点难,没有办法,分析源码就是这样,需要对框架有一定的应用经验并且比较熟悉原理,毕竟一个成熟的框架,特别是像spring这样的java技术栈统治级的框架。如果想学习spring的基本功能推荐原创 2021-03-16 09:37:21 · 237 阅读 · 0 评论 -
@Import注解详细分析
@Import注解详细分析1.写在前面其实@Import只是Spring框架的注解之一,但是作用一点都不小,尤其是在Springboot中,源码中很多地方都使用到,本来这篇应该放在spring源码深度分析中,无奈,那篇是在太长了,只能单独扯出一篇,真是越学习越感觉出了Spring框架的强大!好了,废话不扯,圆规正传。先搭建环境。2.搭建环境<dependencies> <dependency> <groupId>org.springfram原创 2021-03-13 22:25:44 · 639 阅读 · 2 评论 -
spring源码深度分析
spring源码深度分析1.写在前面本文是对spring源码的深度分析,阅读起来有一定难度,如果对spring应用不太熟练的话,更是难上加难。分析源码是一件枯燥乏味的事情,需要极大的耐心,在这篇的时候也是经历了很大的痛苦,耗费很大精力。本文很长,我知道不会有很多人看到最后,但是我相信看到最后的一定能有所收获。阅读本文章要对照源码,最好是版本也一致,文章不会贴出所有的源码细节,并且文章不具备跳转,调试的条件,这在集成开发环境是很方便的。2.搭建环境新建maven工程,引入如下依赖即可<depe原创 2021-03-04 08:50:18 · 7739 阅读 · 2 评论 -
spring的ApplicationEvent事件监听机制原理与应用
spring的ApplicationEvent事件通知机制原理与应用spring框架抽象出了一套事件机制,通过发布,订阅方式来实现,类似观察者模式。先来搭建一个基本的spring环境,然后做个简单的案例演示事件的应用,最后在做源码分析。1.环境搭建引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId&原创 2021-02-05 19:53:32 · 2656 阅读 · 0 评论 -
Spring的Aware机制原理与应用
spring的Aware机制原理与应用spring的Aware在spring框架内部应用的很广泛,学习spring源码时候,经常会发现某个类实现了xxxAware接口。实现xxxAware接口的类其实就是为了能获取相对应的spring对象。今天就来说一下,Aware的是实现原理。1. 环境搭建引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>sprin原创 2021-02-02 09:43:48 · 1810 阅读 · 0 评论 -
BeanPostProcessor后置处理器原理与应用
BeanPostProcessor后置处理器原理与应用BeanPostProcessor又叫后置处理器,是spring框架极其重要的概念。本身是个接口,接口里面定义了两个方法。许多扩展功能都是基于这种后置处理器的方式来实现的。spring框架会自动识别所有实现BeanPostProcessor接口的实现类,加载到容器中。当容器实例化完具体的一个bean后,会遍历所有实现接口的类,执行接口的实现方法,对刚刚实例化的bean进行初始化操作。这只是最简单的应用,BeanPostProcessor还有几个子接口原创 2021-02-01 09:38:04 · 1519 阅读 · 2 评论 -
BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor用法与原理
BeanFactoryPostProcessor与BeanDefinitionRegistryPostProcessor用法与原理BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor都是接口,BeanDefinitionRegistryPostProcessor是BeanFactoryPostProcessor的子接口。实现类用来修改Spring容器的beanDefinition行为的,注意这里的两个不是bean的后置处理器,可以称为be原创 2021-01-27 19:58:52 · 1110 阅读 · 0 评论 -
Spring处理循环依赖原理
Spring处理循环依赖原理大家都清楚Spring框架实现类Ioc,即实现了依赖的自动注入,这是Spring的基本功能之一,并且对于循环依赖,Spring也可以自动注入,但是前提是存在循环依赖关系的Bean必须是单例的,原型的不可以。1.什么是循环依赖简单来说就是两个类的相互引用,举个例子来说,A类定义一个B类的实例字段,B类也定义一个A类的实例字段。class A{ @Autowired private B b; //省略get,set方法}cla原创 2021-01-27 11:12:43 · 580 阅读 · 0 评论