springboot项目自动加载配置文件中的配置到map中

一、博客前提

本篇博客做为自己使用@ConfigurationProperties注解的功能笔记

本篇博客展示的功能就是spring boot项目启动后,自动将配置文件中的配置项加载到一个map中去

二、代码展示

java配置文件

@Configuration
@ConfigurationProperties(prefix="spring")
public class MyDataSourceConfig {
    private Map<String, String> datasource = new HashMap<>();
    public Map<String, String> getDatasource() {
        return datasource;
    }
}

配置文件:application-datasource.properties

#连接池配置
#数据库连接url
spring.datasource.druid.url=jdbc:mysql://:${database.ip}:${database.port}:${database.name}
#初始化连接大小
spring.datasource.druid.initial-size=5
#最大连接数
spring.datasource.druid.max-active=200
#最小空闲连接数
spring.datasource.druid.min-idle=50
#获取连接最大等待时间(毫秒)
spring.datasource.druid.max-wait=60000
#是否开启PSCache,mysql5.5及以上版本支持
spring.datasource.druid.pool-prepared-statements=true
#指定每个连接上PSCache的大小,开启PSCache时,此配置必须大于0
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
#检测连接是否有效超时时间(毫秒)
spring.datasource.druid.validation-query-timeout=60000
#申请连接时执行validationQuery检测连接是否有效
spring.datasource.druid.test-on-borrow=false
#归还连接时执行validationQuery检测连接是否有效
spring.datasource.druid.test-on-return=false
#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效
spring.datasource.druid.test-while-idle=true
#Destroy线程会检测连接的间隔时间,testWhileIdle的判断依据
spring.datasource.druid.time-between-eviction-runs-millis=60000
#Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于,minEvictableIdleTimeMillis,则关闭当前连接
spring.datasource.druid.min-evictable-idle-time-millis=100000
#启用ConfigFilter
spring.datasource.druid.filter.config.enabled=true

三、结果展示

从下面的图中可以卡到

四、知识要点

启动项目,debuger可以看到map的大小为16,不仅将配置文件application-datasource.properties中的配置项全部加载到map中了,还将我在另外的配置文件中配置的username和password也加载进来了

1、@ConfigurationProperties(prefix = "spring") 用来获取以spring开头的配置。

2、定义private Map<String, String> datasource 用来存放以spring.datasource开头的配置,因为springboot配置加载是按照名称加载的,所以属性的命名要与配置文件中的名称相同。也就是map的名字需要与配置文件中的名字相同

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值