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