spring
文章平均质量分 95
https://github.com/spring-projects/spring-framework
spring framework的相关原理分析
ShineMoer
这个作者很懒,什么都没留下…
展开
-
Spring系列(四) 循环依赖那些事
随着我们代码中更多服务的出现与依赖关系的耦合,bean与bean之间的交互往往会涉及很多对其他类的依赖。我们通常用简单的Autowired、提供对应依赖对象的setter方法以及构造器中传入需要引用的其他对象,spring就可以完美的做好依赖关系自动装配。那么本节就来分析下spring中是如何完成bean之间这些依赖的自动查找与注入 关于这个话题,最重要的是spring中用到的三级缓存。但spring中的循环依赖情况分很多种,会进行不同场景的依次分析。本片先介绍最简单的单例对象间的注解依赖方式包括字段上.原创 2021-08-22 14:51:08 · 287 阅读 · 1 评论 -
Dubbo系列(二)服务发布注册原理
前言 DubboBootstrapApplicationListener extends OnceApplicationContextEventListener 只触发一次容器事件监听的执行避免事件传播,适合用于容器初始化完成和关闭等。 @SPI(DirectEventDispatcher.NAME) EventDispatcher 默认采用DirectEventDispatcher实现类发布事件,直接使用单线程 Executor DIRECT_EXECUTOR = Runnable::run EventL原创 2021-07-31 22:09:55 · 1723 阅读 · 0 评论 -
Spring系列(三) 从refresh看createBean源码解析
createBean解析 spring当中单例bean的创建原理,其中涉及到了非常多阶段及各种处理器的调用 启动代码 通过注解配置类AppConfig启动一个容器,其中添加了一个自定义的beanFactoryPostProcessor, 注意:这个类是直接添加到beanFactoryPostProcessors中的,没有被spring当成bean放到单例map中 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationC原创 2021-06-28 20:19:11 · 200 阅读 · 0 评论 -
Spring IOC笔记之Autowire 注入方式
Spring IOC 一些常见容易忽略的问题,包括autowire/resource 注入,类型定义,循环依赖等,会后续不断补充。 Autowire注入五种模式 1.no 默认,如果没找到在调用依赖对象时会抛NullPointerException 2.byType 根据bean class类型在容器中找到唯一一个对应的给目标对象注入 当所注入的类型在容器中只有唯一对象时,较为简单不需要关注属性名或setter方法,以下分析多实现情况 场景1 annotation @Autowired example: D原创 2020-06-26 20:12:38 · 1040 阅读 · 0 评论 -
Spring系列(二) AnnotationConfigApplicationContext
AnnotationConfigApplicationContext 创建一个AnnotationConfigApplicationContext的方式及区别 构造传入注解配置类,一步式解析 扫描 创建spring 容器 AnnotationConfigApplicationContext context =new AnnotationConfigApplicationContext(AopConfig.class); 如果有自定义的BeanDefinitionRegistryPost原创 2020-05-09 20:03:07 · 1077 阅读 · 0 评论 -
spring系列(一)基本组件
spring系列(一)基本组件 类级别注解 @Component:通用注解组件,可被继承扩展为不同层次使用的专用组件.当某一个类在不属于其他典型层次中可作为选择使用 @Controller: 控制层,所注解的为Controller类型与最前端用户数据交互,在web 中广泛与RequestMapping等结合使用 @Service: 服务层,所注解的为一般业务类(如xxxServiceI...原创 2020-03-22 17:45:48 · 327 阅读 · 0 评论