云计算百科
云计算领域专业知识百科平台

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

 测试使用

赞(0)
未经允许不得转载:网硕互联帮助中心 » Day11 原理篇
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!