当前位置:首页 » 《资源分享》 » 正文

后端Web之SpringBoot原理

1 人参与  2024年09月15日 16:42  分类 : 《资源分享》  评论

点击全文阅读


目录

1.配置优先级

2.Bean

3.SpringBoot原理


1.配置优先级

SpringBoot中支持三种格式的配置文件: .application.properties、application.yml和application. yaml。它们的配置优先级分别降低。虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置(目前yml是主流)

另外,SpringBoot除了支持配置文件属性配置,还支持Java系统属性和命令行参数的方式进行属性配置。优先级:命令行参数>Java系统属性>其他三种配置文件。

2.Bean

获取Bean:

Bean的作用域:

Spring支持五种作用域,后三种在web环境才生效:单例是指,不管用何种方法如何调用Bean中的对象,始终都调用的是同一个对象。可以通过@Scope注解来进行配置作用域

默认singleton的bean,在容器启动时被创建,可以使用@Lazy注解来延迟初始化(延迟到第一次使用时) prototype的bean,每一次使用该bean的时候都会创建一个新的实例实际开发当中,绝大部分的Bean是单例的,也就是说绝大部分Bean不需要配置scope属性

第三方Bean:

当我们引入依赖后,也想把依赖中的对象也交给IOC容器管理,就不能使用@Component注解了,因为引入的这些依赖是只读的,不可编辑。

如果要管理的bean对象来自于第三方(不是自定义的) ,是无法用@Component及衍生注解声明bean的,就需要用到@Bean注解。加上后,spring容器启动时就会自动调用此方法,将方法的返回值声明为Bean对象。

3.SpringBoot原理

springboot快捷方便的原因是提供了两个非常关键的功能:起步依赖(依赖传递)、自动配置

自动配置:

SpringBoot的自动配置就是当spring容器启动后,一些配置类、bean对象就自动存入到了IOC容器中,不需要我们手动去声明,从而简化了开发,省去了繁琐的配置操作。

当我们引入第三方依赖时,Springboot并不能扫描到这些依赖包,因此无法把对象给到IOC容器中。此时我们可以使用注解ComponentScan指定扫描的包,但是如果项目大了,要扫描的包就会变多,这样使用繁琐且性能低。

通常情况下,我们都采用和Springboot相同的引入方式,即使用@EnableXxxx注解

以上就是引入第三方依赖之后,加载第三方依赖中的Bean和配置类的方法。

源码分析:

springboot的启动类(也称为引导类)有一个固定的注解,这个注解是spring框架中最重要的注解,因此我们下面分析这个注解里有什么

里面有前四个元注解(修饰注解的注解,不用管)、声明配置类注解Spri.....Configuration、自动配置核心注解EnableAuto....、和包扫描注解Com...Scan。EnableAuto..就是上面封装了Import注解的注解。

引入了继承于ImportSelector的实现类,如下

实现了父类的selectImports方法,返回值封装了需要交给IOC容器管理的全类名。        

这些需要引入的全类名通常在起步依赖时都有,如下:这些都是自动配置类,都会被selectImports方法读取进行返回。因此即使我们没有配置bean对象,也可以将这些全类名中的bean对象进行注入使用

点进去这些配置类,里面实际上就是一个个的方法,这些方法的返回值再通过@Bean注解加载到IOC容器中,所以这个Bean对象在Spring启动的时候就自动有了。这就是自动配置的原理。

Conditional注解:

这些全类名中的对象,并不都会通过Bean注解交给IOC容器管理。第二个注解@Conditional...,就是按照条件装配,只有满足条件的对象才会成为Bean对象。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/160445.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 贵妃每天只想当咸鱼小说(萧兮兮洛清寒)(贵妃每天只想当咸鱼)整本+后续+结局在线阅读
  • 云纾君迟玉:+后续+番外半溪明月枕清风无删减小说在线无广告高口碑小说
  • 新章速递既负如来又负卿是什么小说(莫司淮唐乐薇)完本阅读无广告(莫司淮唐乐薇)
  • 林齐(林齐)火爆小说全集免费阅读_反转传奇林齐:结局+番外无弹窗最新章节笔趣阁(林齐)
  • 萧兮兮洛清寒小说(贵妃每天只想当咸鱼)起点章节+全篇阅读热门作品预订
  • 穿成塌房顶流,我靠爆料翻红(陈昭陈莹静)_穿成塌房顶流,我靠爆料翻红
  • (番外)+(全文)谢青霄林相宜(八零奉子成婚,死对头成了妻管严:全文+结局+番外)全文免费阅读无弹窗大结局_(谢青霄林相宜)最新章节列表_笔趣阁(八零奉子成婚,死对头成了妻管严:全文+结局+番外)
  • 傅修言沈知穗小说(沈知穗傅修言)小说***下载_章节前文+后续(傅修言沈知穗)
  • 陆译林初夏小说(替身攻略失败后摆烂了)全文免费阅读_(替身攻略失败后摆烂了)陆译林初夏小说最新章节列表
  • 全书浏览说好摸鱼打游戏,你爆杀华尔街?(王文斌方幻)_说好摸鱼打游戏,你爆杀华尔街?(王文斌方幻)全书结局
  • (重生后高傲妻子我不爱了)重生后高傲妻子我不爱了(梁言彻尹暖芸)无套路无弹窗全部章节列表
  • (番外)+(全文)傅修言沈知穗:番外+全文+后续(沈知穗傅修言)完整版小说阅读_傅修言沈知穗:番外+全文+后续免费阅读_笔趣阁(沈知穗傅修言)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1