Tôi đang làm việc trên một dự án Spring dựa đó là (cái nay) hoàn toàn XML-miễn phí, ngoại trừ bây giờ tôi đã đánh một bức tường với mùa xuân JPA kho populator:Làm thế nào để khai báo một bean populator có sử dụng cấu hình java thay vì XML?
<repository:jackson-populator location="classpath:data.json" />
Làm thế nào sẽ ở trên được thể hiện trong lớp java @Configuration?
bài này gợi ý sử dụng FactoryBean trực tiếp: https://stackoverflow.com/a/13566712/1746274
Tôi cố gắng đó và gần nhất tôi nhận được sau nhưng nó không hoàn toàn đúng.
@Bean(name="repositoryPopulator")
public RepositoryPopulator getRespositoryPopulator() throws Exception {
final JacksonRepositoryPopulatorFactoryBean factory = new JacksonRepositoryPopulatorFactoryBean();
factory.getObject().setResourceLocation("classpath:test-data.json");
factory.afterPropertiesSet();
return factory.getObject();
}
Kết quả ở trên là FactoryBeanNotInitializedException
với thông báo JacksonRepositoryPopulatorFactoryBean does not support circular references
.
Bất kỳ ý tưởng nào?
Cảm ơn bạn, Oliver! Đó chính xác là những gì tôi đang tìm kiếm. – MrJohnBBQ
Với spring-data-commons - 1.12.3.RELEASE tên lớp là 'Jackson2RepositoryPopulatorFactoryBean'. – Dr4gon