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,烤肉串格式。

相关推荐
一 乐1 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
tiankongdeyige1 小时前
游戏战斗系统学习第2篇:有限状态机 (FSM)
学习·游戏·typescript
旺仔学长 哈哈2 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
Wx-bishekaifayuan2 小时前
django个性化旅游路线推荐平台49005-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
an12321214 小时前
ARM嵌入式学习笔记:SPI通信协议详解
arm开发·笔记·学习
by209994 小时前
从结构体到对象:正式学习C++类的骨架、封装与this指针
c++·经验分享·学习
乌暮4 小时前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
小雪崩5 小时前
嵌入式学习 day60:ARM汇编——触摸屏与SPI
汇编·arm开发·学习
FYKJ_20106 小时前
django电影推荐系统55066-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·typescript·spark·django