74.自定义bean属性绑定以及第三方bean属性绑定
自定义bean属性绑定
1.自定义一个bean
@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" 为前缀的属性。
即
@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文件中写个属性
datasource:driverClassName: com.mysql.jdbc.Driver456
3.绑定
75.@ConfigurationProperties的松散绑定
意思是用@ConfigurationProperties注解绑定了yml文件中的一个前缀后,该前缀下的属性名字的格式不需要很严谨,比如类里面的属性是heima-name,所绑定的文件中对应的属性可以叫heimaname,heimaName,HEIMANAME等,都是可以的。
还有就是用这个@ConfigurationProperties注解绑定属性的前缀时,格式只能是中划线加小写字母,名为kabab,烤肉串格式。