我正在尝试生成测试数据以供用户使用Spring应用程序。我想到了在utils包中创建单独的类来做到这一点。我的想法是在该类中创建静态块,创建一些对象并将其与存储库持久化。我面临的问题是我不能使用存储库,因为我不能在静态块内部使用依赖项注入,也不能在代码外部使用存储库。
我的无效想法如下:
public class SampleData {
@Autowired
BookRepository bookRepository;
static{
List<Book> booksToAdd = Arrays.asList(
new Book("Pan Tadeusz", "Adam Mickiewicz"),
new Book("Pożegnanie z Bronią", "Ernest Hemingway")
);
for(Book book : booksToAdd){
bookRepository.save(book);
}
}
}
编译器抱怨:bookRepository.save(book);
,无法从静态上下文中引用它。您是否认为可以通过某种方式解决?
我知道,也有data.sql文件的方法,但是我不喜欢使用sql,我正在寻找Java解决方案来做到这一点。