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

测试使用

网硕互联帮助中心

![[TG开发]简单的回声机器人-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2025/08/20250816114512-68a06f48800c8-220x150.png)



评论前必须登录!
注册