【发布时间】:2016-05-19 23:35:31
【问题描述】:
我正在构建一个 SpringBoot 应用程序,并尝试以编程方式填充我的测试数据库。
我想出了这个:
@Profile("dev")
@Component
public class DatabaseFillerOnStartup implements ApplicationListener<ContextRefreshedEvent> {
@Resource
private SomeRepository someRepository;
@Resource //This doesn't work
private SessionFactory sessionFactory;
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
...
我的一个实体有一个 Blob,我想在其中保存图像:
private Blob createBlobWithSampleImage() {
InputStream imageStream = this.getClass().getClassLoader().getResourceAsStream("sample1.jpg");
LobCreator lobCreator = Hibernate.getLobCreator(sessionFactory.getCurrentSession());
try {
return lobCreator.createBlob(IOUtils.toByteArray(imageStream));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
问题是我无法注入 sessionFactory。
原因:org.springframework.beans.factory.NoSuchBeanDefinitionException
有没有更好的方法来实现我想要的?
【问题讨论】:
-
感谢 Riversidetraveler 的回答,我设法找到了另一个线程 stackoverflow.com/questions/26667910/… 也有帮助。
标签: java spring hibernate blob