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

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.dtcms.com/a/324814.html

相关文章:

  • 华为防火墙配置指南【附实战案例】
  • python urllib模块怎么使用
  • 【软件测试】概念篇 — 详解
  • 广东省省考备考(第七十二天8.10)——言语理解与表达、判断推理(强化训练)
  • APISIX 路由优先级
  • SupChains团队:化学品制造商 ChampionX 供应链需求预测案例分享(十七)
  • 托福阅读记录
  • TypeScript 中的as const是什么?
  • 基于Actor-Critic策略的Atari中的pong_v3
  • 机器学习第八课之K-means聚类算法
  • 零基础学编程,编程从入门到精通系列教程,附:编程工具箱之公用事件的用法#零基础学编程从哪里开始#新手学编程先学什么#公用事件构件编程用法
  • Lua语言变量、函数、运算符、循环
  • 小学数学计算技巧全攻略
  • 攻击者瞄准加密技术的基础:智能合约
  • [网安工具] Web 漏洞扫描工具 —— GoBy · 使用手册
  • Video Lecture 8 Page Fault
  • 7、西门子PLC基础术语:数据单位、存储区域、寻址方式、字节序
  • LightGBM 与 GBDT 在机器学习中的性能与特点比较
  • element-ui el-progress在有小数的情况下,会换行显示。解决不换行的问题。
  • redis集群-本地环境
  • 【前端基础】14、CSS设置背景(background相关的)
  • 正则表达式常用语法参考
  • STM32H7 以太网配置引申的内存问题
  • A2A协议深度理解与实践
  • 解决 .NET Core 6.0 + PostgreSQL 网站首次连接缓慢问题
  • 安全生产基础知识(一)
  • 去除Edge微软浏览器与Chrome谷歌浏览器顶部出现“此版本的Windows不再支持升级Windows 10”的烦人提示
  • 深度剖析 Linux 信号:从基础概念到高级应用,全面解析其在进程管理与系统交互中的核心作用与底层运行机制
  • 【牛客刷题】REAL799 翻转01 (饿了么面试题)
  • Vue 事件冒泡处理指南:从入门到精通