首页 > 其他分享 >Solon 框架启动为什么特别快?

Solon 框架启动为什么特别快?

时间:2024-01-29 11:00:54浏览次数:23  
标签:Solon 框架 启动 处理 代理 组件 注解 比如

思来想去!可能与 Solon 容器的独立设计有一定关系。

1、Solon 注解容器的运行特点

  • 有什么注解要处理的(注解能力被规范成了四种),提前注册登记
  • 全局只扫描一次,并在扫描过程中统一处理注解相关
  • 扫描注入时,目标有即同步注入,没有时则订阅注入
  • 自动代理。即自动发现AOP需求,并按需动态代理

2、内部结构示意图

在这里插入图片描述

3、支持四种注解能力的处理对象:

对象 说明
BeanBuilder 构建器(比如:@Component 注解,如果没有注册此注解的构建器,则会无视)
BeanInjector 注入器(比如:@Inject、@Db、@CloudConfig、@VaultInject)
BeanExtractor 提取器(比如:@Scheduled、@CloudJob)
BeanInterceptor 拦截器(比如:@Tran、@Cache)

Solon Aop 的具体表象:即为注解处理,原则上需要提前埋好切点(不支持表达式 Aop)。开发及应用可见《四种自定义注解开发汇总》

4、关于自动代理

当一个组件(即 @Component 注解的类),其函数上的注解有对应的拦截处理时(即有 AOP 的需求)。此组件会启用动态代理。关于代理,可参考《动态代理的本质》。v2.5.3 后支持

5、容器处理的补充

附:开源仓库

标签:Solon,框架,启动,处理,代理,组件,注解,比如
From: https://www.cnblogs.com/noear/p/17994068

相关文章

  • 新版本的 Jenkins 2.388的权限修改设置Jenkins为root用户启动---亲测好用OK
    最新版本的Jenkins修改/etc/sysconfig/jenkins中的JENKINS_USER=root不会再生效,需要按照以下配置进行操作 vim/usr/lib/systemd/system/jenkins.service重新加载和重启systemctldaemon-reloadsystemctlrestartjenkins 最新版本的Jenkins修改/etc/sysconfig/jenkins......
  • 通达信启动买入主图指标公式源码
    A:EMA(C,21)COLORBLUE,LINETHICK3; B:=A<ref(a,1); IF(B-1,A,DRAWNULL)COLORRED,LINETHICK3; AA:=EMA(C,3)>EMA(C,21); BB:=EMA(C,3)<EMA(C,21); CC:=EMA(C,3)>EMA(C,8); CC1:=EMA(C,3)<EMA(C,8); DD:=CLOSE<open;STICKLINE(AA,H,L,0,0),C......
  • 通达信启动与洗盘指标公式源码
    volUME:VOL,VOLstICK;主力启动线:ma(VOLUME,5),COLORRED,LINETHICK1;主力洗盘线:MA(VOLUME,35),COLORYELLOW,LINETHICK1;资金异动线:MA(VOLUME,135),COLORWHITE,LINETHICK1;出击:STICKLINE(crOSS(主力启动线,资金异动线)OR((主力洗盘线>资金异动线)ANDCROSS(主力启动线,......
  • spring框架 - 通过 @Conditional注解来条件化地应用注解
    条件化地应用注解什么意思呢?参考chatGPT的回答:Spring框架允许您通过@Conditional注解来条件化地应用注解。@Conditional注解用于在特定条件下决定是否应用某个注解或配置。这在很多情况下是非常有用的,特别是在需要根据应用的运行时环境或配置来动态地选择性地应用某些注解......
  • win10使用uefi+gpt启动蓝屏的解决方法
    在电脑使用uefi安装系统后,每次开机都要蓝屏,错误代码0xc000000e,如下图按提示按Esc键后会进入BIOS,直接Esc退出,就能正常启动了。因之前去联想售后安装过系统,启动是没问题的,所以在想是不是系统引导出现了问题,因此开始了漫长的网上搜索过程。不得不吐槽一下,现在网络上的内容真的是......
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件
    鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件一、操作环境操作系统: Windows10专业版、IDE:DevEcoStudio3.1、SDK:HarmonyOS3.1+编辑二、CheckboxGroup组件提供多选框组件,通常用于某选项的打开或关闭。子组件无。接口CheckboxGroup(options?:{group?:string})创......
  • 虚拟机vmware安装ubuntu磁盘塞满启动爆ubuntu 开机报错 piix4_smbus : SMBus Host Con
    虚拟机vmware安装ubuntu磁盘塞满启动爆ubuntu开机报错piix4_smbus:SMBusHostControllernotenabled错误解决办法  一、vmware硬件增加磁盘空间该虚拟机名称右键[设置]-虚拟机设置-【硬盘(SCSI)】-磁盘实用工具-扩展磁盘容量-【扩展】-增大适当的容量。二、重启VMWA......
  • oracle启动服务命令
    启动Oracle服务的方法有多种,以下是其中几种常见的方法:1、使用命令行启动服务: 在Windows系统中,打开命令提示符窗口,输入以下命令: shell复制代码 netstartOracleService<ORCL实例名称>在Linux系统中,启动服务的命令有所不同,具体可以参考Oracle的......
  • 初识EHCache缓存框架(3.10.8版本)
    https://www.ehcache.org/documentation/3.10/xml.html引入依赖<!--https://mvnrepository.com/artifact/org.ehcache/ehcache--><dependency><groupId>org.ehcache</groupId><artifactId>ehcache</artifa......
  • 第十四天:Linux启动流程
    一、CentOS6之前版本的启动流程1.1硬件启动POSTPOST:Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测主板的ROM:BIOS,BasicInputandOutputSystem,保存着有关计算机系统最重要......