@ConfigurationProperties 获取不到配置的值的解决办法

        一般地我们通过@Value来获取值,然而有些时候配置项比较多,数据结构比较复杂。我们使用@ConfigurationProperties获取配置文件的中配置项的前缀来获取配置,然而有的时候会失效。

@Data
@Component("MinioConfig")
@ConfigurationProperties(prefix = "minio")
public class MinioConfig {

    private String endPoint;

    private String accessKey;

    private String secretKey;

    @Bean
    public MinioClient minioClient() {
        return MinioClient.builder()
                .endpoint(endPoint)
                .credentials(accessKey, secretKey)
                .build();
    }
}
#minio的配置Ip是http请求格式 其次端口为api端口号不是web访问端口
minio:
  endPoint: http://192.168.150.129:19000
  accessKey: minioadmin
  secretKey: minioadmin
spring:
  application:
    name: ElasticsearchAndMinio
  # 配置文件上传大小限制
  servlet:
    multipart:
      max-file-size: 200MB
      max-request-size: 200MB
elasticsearch:
    host: 192.168.150.129
    port: 9200

出现的问题的原因有可能是以下原因:

  1. 没有将对象交付给IOC容器进行管理,这个不多赘述了CSDN多数都是围绕这个来说的。
  2. 配置文件的属性值和对象类中的属性不匹配,这个好好看一下就行了。
  3. 没有setter方法,这个是比较容易漏的因为没有setter方法会导致无法赋值。
  4. 倘若你认为前三条你都满足但还是配置没去取到,建议严查 @Setter 以及 @Data注解,观察是否把包导错了,如果没有导错了,将这两个注解删掉重新写一下再试试。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值