Spring MQTT服务-未能实例化bean

Spring MQTT服务-未能实例化bean,spring,dependency-injection,mqtt,Spring,Dependency Injection,Mqtt,运行应用程序时,我收到以下错误消息:org.springframework.beans.factory.unsatifiedpendencyException:创建名为“answerController”的bean时出错:通过字段“mqttService”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“mqttService”的bean时出错,该名称在文件[C:\Andreas\Proje

运行应用程序时,我收到以下错误消息:
org.springframework.beans.factory.unsatifiedpendencyException:创建名为“answerController”的bean时出错:通过字段“mqttService”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“mqttService”的bean时出错,该名称在文件[C:\Andreas\Projects\LTB\src\backend\target\classes\com\LTB\core\services\mqttService.class]中定义:bean实例化失败;嵌套异常为org.springframework.beans.beanInstationException:未能实例化[com.ltb.core.services.MqttService]:构造函数引发异常;嵌套异常为java.lang.NullPointerException:无法调用“String.length()”,因为“this.input”为null

我已添加此服务来处理MQTT消息传递:

@Service
public class MqttService {
    @Value("${mqtt.host}")
    private String mqttHost;

    String publisherId = UUID.randomUUID().toString();
    IMqttClient publisher = new MqttClient(mqttHost, publisherId);

    public MqttService() throws MqttException {
        mqttConnect();
    }

    private void mqttConnect() throws MqttException {
        MqttConnectOptions options = new MqttConnectOptions();
        options.setAutomaticReconnect(true);
        options.setCleanSession(true);
        options.setConnectionTimeout(10);
        publisher.connect(options);
    }

    public void sendMessage(String msg) throws MqttException {
        MqttMessage message = new MqttMessage((msg.getBytes()));
        message.setQos(0);
        message.setRetained(true);
        publisher.publish("answers", message);
    }
}
我仅在此控制器中将其用作自动连线依赖项:

@RestController
@RequestMapping(path = "/api/logbook/question")
@CrossOrigin
public class AnswerController {
    @Autowired
    AnswerRepo answerRepo;
    @Autowired
    private MqttService mqttService;

    @GetMapping(path = "/{QuestionId}/answer")
    public List<AnswerDTO> getAnswers(@PathVariable final Long QuestionId, @RequestParam Long user) {
        return answerRepo.findByQuestion_IdAndUser_Id(QuestionId, user);
    }
    @PostMapping(path = "/answer")
    public AnswerDTO setAnswer(@RequestBody final AnswerDTO answerDTO) throws MqttException {
        this.sendAnswerNotification("TEST");
        return answerRepo.save(answerDTO);
    }

    private void sendAnswerNotification(String msg) throws MqttException {
        mqttService.sendMessage(msg);
    }
}
@RestController
@请求映射(路径=“/api/logbook/question”)
@交叉起源
公共类应答器控制器{
@自动连线
AnswerRepo AnswerRepo;
@自动连线
专用MqttService MqttService;
@GetMapping(path=“/{QuestionId}/answer”)
公共列表getAnswers(@PathVariable final Long QuestionId,@RequestParam Long user){
返回应答器repo.findByQuestion_-IdAndUser_-Id(QuestionId,用户);
}
@后期映射(路径=“/answer”)
公共应答到setAnswer(@RequestBody final AnswerDTO AnswerDTO)抛出MqttException{
本文件为发送应答通知(“测试”);
返回answerRepo.save(answerDTO);
}
私有void sendAnswerNotification(字符串msg)引发MqttException{
mqttService.sendMessage(msg);
}
}

我如何处理MQTT服务可能引发的构造函数异常?

检查
mqttHost
变量,它可能为空