gpt4 book ai didi

java - 不能@Autowired接口(interface)

转载 作者:行者123 更新时间:2023-11-30 08:55:14 26 4
gpt4 key购买 nike

我正在尝试在 Controller bean 中 Autowiring 接口(interface)

在我放置的上下文配置文件中

<context:annotation-config />

<bean id="viewVerbale" class="com.sirfe.controller.VerbaliController" />

我的 Controller 类是

@Controller
public class VerbaliController {


@Autowired
VerbaliRepository repository;

private static final Logger logger = LoggerFactory.getLogger(VerbaliController.class);


@RequestMapping(value = "/sirfe/verbale/{sequVerbale:.+}", method = RequestMethod.GET)
public ModelAndView viewVerbale(@PathVariable("sequVerbale") String sequVerbale) {

logger.debug("welcome() - sequVerbale {}", sequVerbale);

Verbali verbale = repository.findOne(Long.parseLong(sequVerbale));


ModelAndView model = new ModelAndView();
model.setViewName("sirfe/verbali/viewVerbale");
model.addObject("sequVerbale", sequVerbale);

return model;

}

}

我的接口(interface)签名是

public interface VerbaliRepository extends CrudRepository<Verbali, Long>  { }

当我启动我的应用程序时,我得到了

 Could not autowire field: com.sirfe.repository.VerbaliRepository com.sirfe.controller.VerbaliController.repository; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.sirfe.repository.VerbaliRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. 

最佳答案

看起来您正在尝试使用 Spring JPA 存储库。

为了让 Spring 为您的存储库接口(interface)创建 bean,您需要在 applicationContext.xml 中声明要扫描的包

<jpa:repositories base-package="com.sirfe.repository" />

这样做,Spring 将为您生成实现接口(interface)的 bean。

参见 Spring JPA Repositories

关于java - 不能@Autowired接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29142679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com