关于配置文件 注入出错

@ConfigurationProperties 注入参数出错

yml 文件中

mqProperties:
  namesrvAddr: 127.0.0.1:9876
  sendTimeoutMillis: 3000
  reconsumeTimes: 3

java代码

@Data
@Component
@ConfigurationProperties(prefix = "mqProperties")
public class RocketMQProperties {
    private String namesrvAddr;
    private Integer sendTimeoutMillis;
    private Integer reconsumeTimes;//重试次数
}

单元测试中启动,报错如下

##Configuration property name 'mqProperties' is not valid

命名不规范引起的,不要大写字母,使用小写字母,可加中划线。mq-properties

如果我把mqProperties 改成rocketmq 报错变成了

Caused by: java.lang.NullPointerException
    at com.zcb.config.RocketMqConfig.defaultMQProducer(RocketMqConfig.java:26)

显示的是

 //实例化 消息生产者
        DefaultMQProducer producer = new DefaultMQProducer(MqConstant.ConsumerGroup.ES_USER_IMPORT);
        //设置nameServer
        producer.setNamesrvAddr(rocketMQProperties.getNamesrvAddr()); **//此行报错**
        producer.setSendMsgTimeout(rocketMQProperties.getSendTimeoutMillis());
        producer.setRetryTimesWhenSendFailed(rocketMQProperties.getReconsumeTimes());