Spring Boot自动配置实战
2024-09-02 16:46:14
上篇讲述了Spring Boot自动配置的原理,本篇内容就是关于该核心原理的实际应用。需求即当某个类存在的时候,自动配置这个类的bean并且这个bean的属性可以通过application.properties配置。
一、新建maven模块
二、属性配置
三、判断依据类
四、配置类
五、注册配置
此操作为自定义自动配置的关键:
resources下创建/META-INF/spring.factories。注意:META-INF是自己手动创建的目录,spring.factories也是手动创建的文件,在该文件中配置自己的自动配置类。文件的内容意思就是SpringBoot启动的时候会去加载我们的HelloService到IOC容器中。
这其实是一种变形的SPI机制,关于该机制参考SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)。
六、使用该starter
在spring boot初体验代码上基础上作修改
该修改将同步就该pom.xml,添加依赖如下:
执行main方法,启动容器。使用浏览器验证该starter生效:
配置参数,如下(注意配置文件路径):
验证结果:
说明默认及配置文件均生效。
有个问题是这个配置文件的路径,必须是自定义starter下;对于在应用项目下resources下的配置文件验证不生效。
实际生产中如spring boot提供的starter,引用后再应用模块修改配置文件改变相关配置的属性是有效的。所以这个问题出在哪里呢?
最新文章
- SQL Server中的锁
- oracle/MySQL 中的decode的使用
- WebView上实现Java与JavaScript交互
- ext3grep 恢复删除
- Android(java)学习笔记80:UDP协议发送数据
- ASP + ACCESS 上传图片到数据库与将图片读出数据库显示之实现
- zTree实现地市县三级级联DAO接口实现
- JDBC对sql server的操作
- asp.net2.0安全性(4)--Login系列控件--转载来自车老师
- How to write own add-in for SSMS 2012 (Final release version)
- Base algorithm
- 当使用javac编译源文件时,如何查找import导入的类
- lvs_dr
- 最快的3x3中值模糊
- [LOJ 6185]烷基计数
- VSCode搭建Vue项目
- Nginx 浏览器缓存
- prev_permutation(a+1,a+n+1)
- python---str和repr
- SQL如何获得本季度第一天、一年的第一天、本月的最后一天