Поле countRepo в com.abc.serive.MysqlService требует bean-компонент типа 'com.abc.repository.ClicksQuickReplyRepository', который не может быть найден - PullRequest
0 голосов
/ 27 февраля 2019
package com.abc.repository.ClicksQuickReplyRepository;

import com.abc.model.ClicksQuickReply;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;

@Repository
public interface ClicksQuickReplyRepository{

    @Query( value = "select notificationTag,count,button_id from fb_sent_messages where page_id=?1 and notificationTag in ?2", nativeQuery=true)
    List<ClicksQuickReply> getClickCount(@Param("pageID") String pageID, @Param("notificationTag")  String notificationTag);
}

MySQL Service Class

package com.abc.serive.MysqlService;

@Service
public class MysqlService {

@Autowired
    private ClicksQuickReplyRepository clicksQuickReplyRepository;

} 

Автоматическое подключение ClicksQuickReplyRepository приводит к ошибке:

Field clicksQuickReplyRepository in com.abc.serive.MysqlService required a bean of type 'com.abc.repository.ClicksQuickReplyRepository' that could not be found.

Я попытался выполнить следующую попытку, чтобы исправить это:

  1. Добавление @EnableJpaRepositories к классу SpringConfiguration
  2. Добавлено @SpringBootApplication(scanBasePackages={"com.abc.repository"}) т.е. scanBasePackage // запускается, что приводит к той же ошибке для других пакетов

1 Ответ

0 голосов
/ 27 февраля 2019

Это может быть вызвано неправильным отображением, в вашем запросе есть where page_id=?1, тогда как имя вашего параметра - pageID.Те должны быть равны.Неправильное отображение не приводит к внедрению bean-компонента.

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