当前位置: 首页 > news >正文

SPB day2

SPB原理分析

1、首先利用了Condition进行有选择性的Bean创建,新建一个类实现condition,并在需要导入的Bean上加上@Conditional注解,并传入上述的condition实现子类作为参数,通常会自定义@ConditionOnxxx继承@Conditional,在@Conditional的match函数中使用metadata获取注解数据进行判断

2、如何切换内置服务器,由于SPB默认内置服务器为Tomcat,如果要切换则将Tomcat排除出依赖后,再重新加入其他服务器的依赖坐标即可,内部原理还是依赖上述的condition原理。

3、@EnableAutoConfiguration,如果使用其他包中的Bean,需要进行包扫描才可使用,或者可以使用@Import加载类的名字,@EnableAutoConfiguration其本质是对Import的封装。

@Import@EnableAutoConfiguration本质上是使用@Import导入ImportSelector的实现类,导入很多配置类,但是不是每个配置类都会被加载,而是使用了condition判断用户可以自定义Starter,不过通常让Starter依赖autoconfigure类来进行相关bean的配置,加载的原理通过建立AutoConfiguration类来进行,同时要建立Properties来将实体与配置绑定并且在自动配置类中激活,详细过程可以参考源码。 

事件监听主要是对Java本身事件监听的一个封装,可以在SPB启动的多个阶段进行监听。

监控机制可以看到项目启动过程中的各种方面信息,启用方法只需要导入依赖坐标即可,就可以在收到记录相关信息的URL   使用admin图形化界面                                                                                                                                                                                                                                                                                                     

http://www.dtcms.com/a/23919.html

相关文章:

  • [半导体检测-16]:相干激光 - PermAlign技术
  • mac安装Pyspark并连接Mysql
  • 基于TI的TDA4高速信号仿真条件的理解 4.6
  • 浏览器报错:无法访问此网站 无法找到xxx.xxx.net的DNS地址。正在诊断该问题。尝试运行Windows网络诊断。DNS_PROBE_STARTED
  • 另一棵树的子树
  • Ubuntu下mysql主从复制搭建
  • C#: 创建Excel文件并在Excel中写入数据库中的数据
  • 【Python项目】文本相似度计算系统
  • IOT通道MQTT
  • 代码随想录算法营Day42 | 322. 零钱兑换,279. 完全平方数,139. 单词拆分
  • STM32 定时器产生定周期方法
  • 上位机知识篇---与、或、移位操作(、|、>><<)
  • AOSP Android14 部分页面使用触摸会崩溃
  • 视频转序列帧
  • 巧用 PasteMate,联合 DeepSeek 与 LaTeX 高效生成 PDF 文档
  • ERP对制造业务有何价值?
  • Ubuntu18.04安装rvm、ruby2.6.5和rails5.2.6
  • eBPF驱动的实时内核安全防护体系:构建零日漏洞免疫的云原生基础设施
  • 深度学习笔记之自然语言处理(NLP)
  • DeepSeek 助力 Vue 开发:打造丝滑的范围选择器(Range Picker)
  • 豪越科技:消防安全重点单位一体化安全管控
  • LLM有哪些可控超参数
  • MySQL性能优化
  • Redis(高阶篇)03章——缓存双写一致性之更新策略探讨
  • Azure Synapse Dedicated SQL Pool统计指定表中各字段的空值、空字符串或零值比例
  • 什么是 近端策略优化算法PPO
  • 【动态规划】(二)动态规划——0-1背包问题
  • 第35次CCF计算机软件能力认证 python 参考代码
  • RK3588 ubuntu20.04 换源 aarch64源
  • redis数据类型