spring作为目前Java领域最流行的框架几乎是每个Java程序员必备的知识点了,基于spring的springboot和springcloud微服务近年使用的人也越来越多,在使用过程中难免会有各式各样的问题。

今天我们讨论的这个问题是关于项目引入spring生态或者外部的开源项目时找不到配置参数怎么办,很多java程序员在使用springboot或者springcloud的时候引入了一些依赖项目时不知道有哪些参数可以进行配置,网上文档又千篇一律或者少的可怜没有办法解决你的问题,那么你可以尝试下我的这种方法看看是否能帮助到你。

springboot配置数据源_springboot配置文件_springboot配置热加载

springboot yml配置文件

我们以引入redis缓存为例来看看是怎么查看有哪些配置的。

首先我们在pom文件引入spring-boot-starter-data-redis依赖。


    org.springframework.boot
    spring-boot-starter-data-redis

下一步就是配置参数了。我们当前springboot项目的yml配置文件是这样的。

spring:
  profiles: dev
  application:
    name: order-service
server:
  port: 8093

既然引入了redis,那么肯定要配置redis的服务器地址、端口等信息。我们现在只引入了依赖,要配置哪些参数我们也不知道,那么如何查看有哪些参数可以配置呢?

当然了,你可以直接百度啥的,官方文档如果有当然最好springboot配置文件,如果没有的话我们继续往下看。

一、找到springboot的配置依赖项目org.springframework.boot.autoconfigure

一般开发编辑器都会有显示你引入的依赖,我这里是idea intellij。autoconfigure依赖会显示大部分的springboot生态的项目配置信息。

acf850480d9dcf8b7fa1f2177bcf1200

展开依赖列表

d020979e665a42e5956d55a8e7a12061

org.springframework.boot.autoconfigure依赖

二、找到spring-boot-starter-data-redis的配置参数文件

我们引入了spring-boot-starter-data-redis,属于spring data模块下,我们在autoconfigure项目中找找看可能会在哪个包下。

11baffb949aaf5e4cd0646d212bcea10

可以看到autoconfigure项目中有很多的模块配置信息springboot配置文件,比如aop、elasticsearch、freemarker等等,我们找到data这个包(这个就需要你根据引入的内容自己判断可能在哪个包下),再找到redis包。

9ab51defe5c0d8f670394d01ff5ba74a

可以看到有一个RedisProperties类,一般所有的参数配置类名都以Properties结尾。是在哪里定义了使用这个RedisProperties类呢。可以看看RedisAutoConfiguration这个类,一般类名以Configuration结尾的类是配置类,该类使用@EnableConfigurationProperties({RedisProperties.class})注解指定配置参数类。

springboot配置文件_springboot配置数据源_springboot配置热加载

@EnableConfigurationProperties

三、查看配置参数信息

打开RedisProperties类可以看到类有@ConfigurationProperties(prefix = “spring.redis”) 注解,如果你下载源码还能看到各个属性的注释助于理解。

prefix = “spring.redis”代表你在yml文件里配置项都要在spring.redis之下,那么我们的最终配置如下

spring:
  profiles: dev
  application:
    name: order-service
  redis:
    host: 192.168.67.129
#    password: 123456
    port: 6379
    jedis:
      pool:
        max-active: 100 #最大连接数
        max-wait: 30000  #最大阻塞等待时间(负数代表没有限制)
        max-idle: 20 #最大空闲连接数
        min-idle: 0 #最小空闲连接数
    timeout: 3000 #连接超时
server:
  port: 8093

如果你引入的是spring其他的开源项目,那么按照这个思路就能找到配置信息。如果你引入的不是spring生态的项目,那么可以在你引入的项目依赖中查找Configuration结尾的类和其引入的Properties类。

希望对你有帮助,有问题可以评论区留言,给个关注和赞吧。