首页
TVP 最新优惠活动
学习
活动
专区
工具
返回腾讯云官网
大家好,又见面了,我是你们的朋友全栈君。
starter是一种服务,使用某个功能的开发者不需要关注各种依赖库的处理,不需要具体的配置信息,由Spring Boot自动通过classpath路径下的类发现并加载需要的Bean。
背景:在没有使用各个starter之前,我们搭环境的时候是这样做的 我们以引入jpa的步骤为例: • 通过maven 引入jdbc的依赖、以及jpa相关的各种依赖 • 编写jpa相关的配置文件 • 网上各种查询找资料进行调试,调试的过程对于新手可能会有点奔溃会遇到各种奇奇怪怪的问题,jar包冲突啊,这个jar包下载不下来,缺少某个jar包。等等问题
使用starter ,我们只需引入 spring-boot-starter-data-jpa
什么是自动装配? 通过全局文件配置application.properties或application.yml,就能实现对程序的配置。
实现自动装配只需要两个条件——maven依赖、配置文件。 1 引入maven实质上就是导入jar包,spring-boot启动的时候会找到starter jar包中的resources/META-INF/spring.factories文件,根据spring.factories文件中的配置,找到需要自动配置的类。 2 配置文件就是application.properties或者application.yml 文件。
那spring boot究竟怎么完成自动配置的呢? 1 @SpringBootApplication注解点进去,查看配置注解
2:@EnableAutoConfiguration注解点进去
AutoConfigurationImportSelector这个类getCandidateConfigurations这个方法里面通过SpringFactoriesLoader.loadFactoryNames() (SpringFactoriesLoader是Spring框架中的加载类的核心加载器,专门用来读取classpath下各个jar包里META-INF/spring.factories目录里面的配置。)扫描所有具有META-INF/spring.factories的jar包( spring.factories 我们可以理解成 Spring Boot 自己的 SPI 机制)。 spring-boot-autoconfigure-x.x.x.x.jar里就有一个spring.factories文件。spring.factories文件由一组一组的Key = value的形式,其中一个key是EnableAutoConfiguration类的全类名,而它的value是一个以AutoConfiguration结尾的类名的列表,有redis、mysql等这些类名以逗号分隔。这时Springboot将加载的类全部加载到IOC中。
3 查看IOC 中的配置类 以ServletWebServerFactoryAutoConfiguration配置类为例,看一下配置类的样子
Springboot 通过注解,找到META-INF/spring.factories文件。并加载文件中所有的配置类。 这个时候,如果我们不在application.yml下配置的话,就用默认值,如果配置了的话,就用application.yml中配置的值。(因为第一步加载到IOC中的类,就是配置类)
1 在Contoller 中直接通过@vaule 引入即可 2 自定义配置类,然后注入到controller
3 @ConfigurationProperties 当我们的属性比较多的时候,这个时候用@value就会显得代码太冗余了,这个时候,Springboot 为我们提供了 @ConfigurationProperties
@PropertySource:加载指定文件夹下的配置文件
SpringBoot中有一个ControllerAdvice的注解,使用该注解表示开启了全局异常的捕获,我们只需在自定义一个方法使用ExceptionHandler注解然后定义捕获异常的类型即可对这些捕获的异常进行统一的处理。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142609.html原文链接:https://javaforall.cn
本文分享自 作者个人站点/博客 前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
玻璃钢生产厂家公仔玻璃钢人物雕塑天水动物玻璃钢雕塑设计玻璃钢白鹭雕塑四川季节性商场美陈哪里有玻璃钢雕塑钢化时易破损吗浙江玻璃钢花盆工厂许昌玻璃钢卡通雕塑设计浙江动物玻璃钢雕塑优势广东景观玻璃钢雕塑加工厂邯郸校园玻璃钢雕塑海南卡通玻璃钢雕塑制作长春人物玻璃钢雕塑制作彩绘鹿玻璃钢雕塑云浮玻璃钢动物雕塑哪里买柳河玻璃钢花盆花器玻璃钢花盆雕塑哪的服务好滁州商场美陈道具宜春玻璃钢雕塑贵州省玻璃钢雕塑哪家强包头玻璃钢雕塑卡通洛阳抽象玻璃钢雕塑价格上海大型商场创意商业美陈作品庆阳城市玻璃钢雕塑设计上海室内商场美陈制造玻璃钢浮雕大型雕塑外国商场圣诞美陈庆阳公园玻璃钢雕塑长沙步行街玻璃钢雕塑优势衡阳商场美陈花器武汉小品系列玻璃钢雕塑制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万