SpringBoot-黑马程序员-学习笔记(五)

74.自定义bean属性绑定以及第三方bean属性绑定

自定义bean属性绑定

1.自定义一个bean

java 复制代码
@Data
@Component
public class ServerConfig {
    private String ipAddress;
    private int port;
    private  long timeout;
}

2.在yml配置文件中中定义一组值

3.在bean中进行属性绑定

加上这个注解即可

@ConfigurationProperties(prefix = "datasource") 注解:这个注解用于告诉 Spring Boot 从配置文件中读取属性,以配置 DruidDataSource 实例。prefix 参数指定了在配置文件中要读取的属性的前缀。这意味着 Spring Boot 将查找配置文件中以 "servers" 为前缀的属性

java 复制代码
@Data
@Component
@ConfigurationProperties(prefix = "servers")
public class ServerConfig {
    private String ipAddress;
    private int port;
    private  long timeout;
}

测试:

在main中获取容器,再调用容器的getBean方法获取到serverConfig类,再输出这个类

发现yml中配置的属性以及和bean绑定好了

第三方bean属性绑定

1.导入druid依赖(以druid为例)

2.在yml文件中写个属性

java 复制代码
datasource:
  driverClassName: com.mysql.jdbc.Driver456

3.绑定

75.@ConfigurationProperties的松散绑定

意思是用@ConfigurationProperties注解绑定了yml文件中的一个前缀后,该前缀下的属性名字的格式不需要很严谨,比如类里面的属性是heima-name,所绑定的文件中对应的属性可以叫heimaname,heimaName,HEIMANAME等,都是可以的。

还有就是用这个@ConfigurationProperties注解绑定属性的前缀时,格式只能是中划线加小写字母,名为kabab,烤肉串格式。

相关推荐
日更嵌入式的打工仔6 分钟前
keil下载程序报Contents mismatch at XXX
笔记
拒朽7 分钟前
51单片机学习(六)模块化编程和LCD调试工具
嵌入式硬件·学习·51单片机
@菜菜_达15 分钟前
Vue 入门学习
前端·vue.js·学习
Dr.F.Arthur19 分钟前
我的算法学习笔记——链表篇
数据结构·笔记·学习·链表
※DX3906※24 分钟前
SpringBoot之旅4: MyBatis 操作数据库(进阶) 动态SQL+MyBatis-Plus实战,从入门到熟练,再也不踩绑定异常、SQL拼接坑
java·数据库·spring boot·spring·java-ee·maven·mybatis
_院长大人_28 分钟前
Spring Boot 3.3 + Atomikos 分布式事务日志路径配置踩坑记录
spring boot·分布式·后端
我爱学习好爱好爱35 分钟前
Ansible 自动化部署全栈项目(Spring Boot + Vue + MySQL + Redis)实战(Rockylinux9.6)
spring boot·自动化·ansible
ACGkaka_36 分钟前
ES 学习(四)Elasticsearch-Head 的安装和使用
大数据·学习·elasticsearch
毕设源码-郭学长42 分钟前
【开题答辩全过程】以 基于Android的安全知识学习APP为例,包含答辩的问题和答案
学习