我正在使用postgressql,我有以下接口:
@Repository
public interface ExampleRepository extends CrudRepository<ExampleEntity, Long> { }
然后我试着得到豆子:
ExampleRepository repository = ctx.getBean(ExampleRepository.class);
当然,我不能这样做,因为没有实现,最终我会
NoSuchBeanDefinitionException: No qualifying bean of type 'ExampleRepository'
我知道这是一个错误的方法,但由于我没有足够的经验,我不知道如何与我的数据库进行通信。我搜索的任何示例都只解释了如何实现服务和控制器,以便通过浏览器与db交互。但是我想在java代码中执行crud操作。
有人能给我解释一下吗?任何相关的消息来源也可以。
2条答案
按热度按时间b4qexyjb1#
我不知道你是如何得到上下文(ctx)在这里。但通常的方法是不需要@repository,而是在@configuration文件中使用@enablejparepositories。然后使用@autowired将存储库注入到您的服务类中(您希望在其中从存储库bean执行操作),您可以参考下面的链接了解更多详细信息https://mkyong.com/spring-boot/spring-boot-spring-data-jpa/
2admgd592#
您不需要创建bean。它将由spring框架创建,因为您将接口注解为
@Repository
你只需要@Autowired
在您的服务类中,或者您希望在何处使用此引用。