Весенние облачные потоки не смогли автоматически связать Source.class - PullRequest
0 голосов
/ 27 ноября 2018

Я изучаю Spring Cloud Streams с нуля.

Я пытался создать приложение Source следующим образом:

import org.springframework.cloud.stream.messaging.Source; //etc
@RestController
@SpringBootApplication
@CrossOrigin
@EnableBinding(Source.class)
public class StreamsProducerApplication {

    @Autowired
    Source source;

    @GetMapping(value="/send/{message}")
    public void sendMessage(@PathVariable String message){
        if(message != null){

     source.output().send(MessageBuilder.withPayload(message).build());}
}

public static void main(String[] args) {
    SpringApplication.run(StreamsProducerApplication.class, args);
}

}

Однако я получаю подсказку об ошибкеот Intellij IDEA в "Source source;"говоря: «Не удалось автоматически подключить. Не найдены bean-компоненты типа« Source ».

Я понимаю, что Source - это интерфейс, из которого я импортирую, но на официальном веб-сайте Spring Spring говорится, что Spring Cloud Stream создает реализацию интерфейса.для тебя.Вы можете использовать это в приложении, автоматически подключив его "https://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/

Так как же я сделал это неправильно? Спасибо.

1 Ответ

0 голосов
/ 27 ноября 2018

Просто Intellij IDEA не знает, что @EnableBinding(Source.class) будет бином во время выполнения.Существует только определение такого bean-компонента, поэтому инструментарий не может определить, что добавить в этот @Autowired.

В противном случае ваш код полностью исправен, и вам просто нужно запустить его и поиграть с тем, что вы ожидаете от этого кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...