当前位置: 首页 > 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图形化界面                                                                                                                                                                                                                                                                                                     

相关文章:

  • [半导体检测-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)
  • 俄代表团:16日上午将继续“等候乌代表团”
  • “AD365特应性皮炎疾病教育项目”启动,助力提升认知与规范诊疗
  • 齐白石精品在波士顿展出,“白石画屋”呈现水墨挥洒
  • 前四个月社会融资规模增量累计为16.34万亿元,比上年同期多3.61万亿元
  • “女硕士失踪13年生两孩”案进入审查起诉阶段,哥哥:妹妹精神状态好转
  • 河南信阳拟发文严控预售许可条件:新出让土地开发的商品房一律现房销售