小编fir*_*ser的帖子

如何将Spring REST中的图像返回到浏览器

我需要在Spring控制器中返回图像.我在这个Spring MVC中尝试回答:如何在@ResponseBody中返回图像?但它不起作用

我的代码是这样的

@RequestMapping(value = "cabang/photo", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<byte[]> getPhoto() throws IOException {

     File imgPath = new File("D:\\test.jpg");

    byte[] image = Files.readAllBytes(imgPath.toPath());
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.IMAGE_JPEG);
    headers.setContentLength(image.length);
    return new ResponseEntity<>(image, headers, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

但是当我在浏览器中访问它时,它没有显示任何内容(只是没有图片图标).但是如果我读取图像字节数组,它就不是空的.我的代码中是否有任何遗漏?

rest spring controller image spring-rest

6
推荐指数
1
解决办法
4717
查看次数

如何在 Spring Data JPA 中设置 Hibernate 命名策略

我使用Spring Data JPA并使用多个数据库,所以我必须自己配置它而不是使用@HibernateJpaAutoConfiguration.

public class TesterDbConfig {

    @Autowired(required = false)
    private PersistenceUnitManager persistenceUnitManager;


    @Bean
    public JpaProperties testerJpaProperties() {
        JpaProperties jpaProperties = new JpaProperties();
        return jpaProperties;
    }

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "datasource.primary")
    public DataSource testerDataSource() {
        return (DataSource) DataSourceBuilder.create().type(DataSource.class).build();
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean testerEntityManager(
        JpaProperties testerJpaProperties) {
        EntityManagerFactoryBuilder builder = createEntityManagerFactoryBuilder(testerJpaProperties);
        return builder.dataSource(testerDataSource()).packages(Cabang.class).persistenceUnit("primary")
            .build();
    }

    @Bean
    public JpaTransactionManager testerTransactionManager(EntityManagerFactory testerEntityManager) {
        return new JpaTransactionManager(testerEntityManager);
    }

    private EntityManagerFactoryBuilder createEntityManagerFactoryBuilder(
        JpaProperties testerJpaProperties) {
        JpaVendorAdapter jpaVendorAdapter = createJpaVendorAdapter(testerJpaProperties);
        return new EntityManagerFactoryBuilder(jpaVendorAdapter, testerJpaProperties, …
Run Code Online (Sandbox Code Playgroud)

spring hibernate spring-data-jpa

5
推荐指数
1
解决办法
3094
查看次数

Spring Batch Item Writer 监听器不工作

我使用 spring 批处理并实现了项目编写器侦听器。我的 Item Writer Listener 类是这样的

@Component
public class SomeItemWriterListener implements ItemWriteListener {

@Override
public void beforeWrite(List<Object> items) throws Exception {
    System.out.println("get here1");

}

@Override
public void afterWrite(List<Object> items) throws Exception {
    System.out.println("get here2");

}

@Override
public void onWriteError(List<Object> items, Exception ex) throws Exception {
    System.out.println("get here3");
}
}
Run Code Online (Sandbox Code Playgroud)

然后我在我的步骤中使用 Java Config 配置它

@Autowired
private SomeItemWriterListener writerListener;

@Bean
public Step step(StepBuilderFactory stepBuilderFactory,
    @Qualifier("itemReader")
        ItemReader<SomeItem> reader) {
    return stepBuilderFactory.get("step").listener(
        writerListener).chunk(
        chunkSize).reader(reader).processor(processor).writer(writer).build();
}
Run Code Online (Sandbox Code Playgroud)

但是,beforeWrite,afterWrite 不会被调用。当我添加一些错误时 onWriterError 也没有被调用。当我配置这个时,我错过了什么吗?

java spring spring-batch spring-boot

3
推荐指数
1
解决办法
7899
查看次数