com.abc.serive.MysqlService 中的字段 countRepo 需要找不到类型为“com.abc.repository.ClicksQuickReplyRepository”的
Posted
技术标签:
【中文标题】com.abc.serive.MysqlService 中的字段 countRepo 需要找不到类型为“com.abc.repository.ClicksQuickReplyRepository”的 bean【英文标题】:Field countRepo in com.abc.serive.MysqlService required a bean of type 'com.abc.repository.ClicksQuickReplyRepository' that could not be found 【发布时间】:2019-07-20 12:27:03 【问题描述】: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 服务类
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.
我尝试了以下尝试修复它:
-
将
@EnableJpaRepositories
添加到SpringConfiguration类
已添加@SpringBootApplication(scanBasePackages="com.abc.repository")
即scanBasePackage
// 开始导致其他包相同的错误
【问题讨论】:
@SpringBootApplication
在什么包中?
com.abc 包@Andronicus
【参考方案1】:
这可能是由错误的映射引起的,在您的查询中有where page_id=?1
而您的参数名称是pageID
。这些应该是平等的。错误的映射导致没有 bean 注入。
【讨论】:
我根据您的建议更改了它:@Query(value = "select notificationTag,count,button_id from fb_sent_messages where page_id=?1 and notificationTag in ?2", nativeQuery=true) List_
是的,也已经交叉检查了以上是关于com.abc.serive.MysqlService 中的字段 countRepo 需要找不到类型为“com.abc.repository.ClicksQuickReplyRepository”的 的主要内容,如果未能解决你的问题,请参考以下文章