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

Day11 原理篇

1.SpringBoot配置优先级

2.Bean管理

2.1Bean的作用域 @Scope("prototype") singleton

单例:项目启动时创建一次对象,存到IOC容器中

多例:使用时创建对象,每使用一次就创建一次

2.2第三方Bean @Bean 默认名称为方法名

第三方提供的Bean:构造函数

启动类:定义方法,返回值为声明的Bean的类型,加上@Bean注解,项目启动时,调用该方法,并将方法的返回值交给IOC容器管理,成为IOC容器的Bean对象,默认名称为方法名。由于该Bean依赖已经声明的另一个Bean,在方法的形参上声明依赖的Bean,IOC容器自动会找到依赖的Bean,并传递过来

声明的Bean对象

配置类中集中管理第三方Bean

3.SpringBoot原理

3.1起步依赖原理

Meaven中的依赖传递

3.2自动配置

3.2.1两种方案  @EnableXxxx注解 /@Import(Xxx.class)   @Component + @ComponentScan("包名")

方案一:@Component + @ComponentScan("包名")

方案二:@EnableXxxx注解:封装了import  @Import(Xxx.class)

3.2.2自动配置-源码追踪 @EnableAutoConfiguration @ConditionalOnMissingBean

@Conditional:父注解

@ConditionalOnClass(Xxx.class):环境中是否有对应的字节码文件

@ConditionalOnMissingBean:环境中是否有对应的Bean

@ConditionalOnProperty(name="xxx",havingValue="xxx"):配置文件中是否有对应的属性和值

3.2.3自定义starter

1.创建auoconfigure模块

 自动配置类

 定义自动配置文件

2.在starter中引入autoconfigure模块

 3.在测试类中引入starter,由于依赖传递,会自动引入autoconfigure

 测试使用

http://www.xdnf.cn/news/17441.html

相关文章:

  • 滚动条开始滚动时,左侧导航固定,当左侧内容触底到footer时左侧内容取消固定并跟随滚动条滚动
  • 【Python 小脚本·大用途 · 第 2 篇】
  • 女子试穿4条裤子留下血渍赔50元引争议:消费责任边界在哪?
  • 【星闪】Hi2821 | UART通用异步收发器 + 串口中断收发例程
  • 【人工智能99问】BERT的原理什么?(23/99)
  • 开启单片机
  • 编程基础之多维数组——矩阵交换行
  • 【YOLOv8改进 - C2f融合】C2f融合Outlook Attention:将细粒度特征编码到 token 中, 提高在图像分类和语义分割等任务中的性能
  • 【算法题】:斐波那契数列
  • 【Python】常用内置模块
  • 安全运维工具链全解析
  • Android快速视频解码抽帧FFmpegMediaMetadataRetriever,Kotlin(2)
  • 大模型开发工具的汇总
  • SQL Server从入门到项目实践(超值版)读书笔记 23
  • cursor, vscode黄色波浪线警告问题
  • 从零到精通:嵌入式BLE开发实战指南
  • 计算机网络:(十四)传输层(下)详细讲解TCP报文段的首部格式,TCP 可靠传输的实现与TCP 的流量控制
  • Mybatis和MybatisPlus的对比区分理解法
  • 基于 RabbitMQ 死信队列+TTL 实现延迟消息+延迟插件基本使用
  • 给AI装上“翻译聚光灯”:注意力机制的机器翻译革命
  • Docker 镜像常见标签(如 `标准`、`slim`、`alpine` 和 `noble`)详细对比
  • 编程基础之字符串——统计数字字符个数
  • TypeScript 中的as const是什么?
  • React:useEffect 与副作用
  • token危机解决?扩散模型数据潜力3倍于自回归,重训480次性能仍攀升
  • 浏览器CEFSharp88+X86+win7 之多页面展示(四)
  • LLaMA-Adapter Efficient Fine-tuning of Language Models with Zero-init Attention
  • Redis - 使用 Redis HyperLogLog 进行高效基数统计
  • Spring Boot与WebSocket构建物联网实时通信系统
  • 基于Spring Boot和WebSocket的实时聊天系统