java如何获取Crudepository实例?
最近,我一直遵循以下指南,介绍如何使用Spring Boot在内存H2数据库中持久化数据:
- 指南:https://spring.io/guides/gs/accessing-data-jpa/
- 源代码:https://github.com/spring-guides/gs-accessing-data-jpa/
在它中,首先定义一个CustomerEntity
类,然后定义一个CustomerRepository
接口。然后,在主类中,进行了大量的注释魔术,这使我们能够简单地“拥有”一个CustomerRepository
实例,该实例可用于将数据持久化到数据库、检索数据等
这很好,但是,我需要在主类之外的另一个类中使用这样的CustomerRepository
实例。由于本教程没有揭示使它在主类中可用的魔力,我不知道如何在我需要它的类中实现它
我几乎一整天都在试图弄明白这一点,但我只是在一大堆文章中迷失了方向,这些文章都在试图解释哪个Spring注释做了什么,我现在真的筋疲力尽了
我想这样做:
public class Foo {
private CustomerRepository repo;
// ...
public void storeCustomer(String firstName, String lastName) {
this.repository.save(new Customer(firstName, lastName));
}
}
我很乐意得到一些提示
# 1 楼答案
这里有一个例子
如果需要尝试,可以使用“CommandLineRunner”
# 2 楼答案
您需要自动连接CustomerRepository对象,还需要从控制器自动连接Foo对象Foo对象
您需要将Foo对象从controller/restcontroller自动连接到调用storeCustomer方法
并使用@Configuration在任何类中定义自动连线bean