【发布时间】:2018-07-17 15:56:08
【问题描述】:
我们正在将基于 xml 的 spring 批处理配置转换为 java 配置。
在 JdbcCursorItemReader 的 xml 形式中,我们使用了后期绑定:
SELECT * FROM MY_TABLE_#{jobParameters[param1]}
如何使用 Java 配置语法来实现?
【问题讨论】:
标签: spring spring-batch spring-java-config late-binding
我们正在将基于 xml 的 spring 批处理配置转换为 java 配置。
在 JdbcCursorItemReader 的 xml 形式中,我们使用了后期绑定:
SELECT * FROM MY_TABLE_#{jobParameters[param1]}
如何使用 Java 配置语法来实现?
【问题讨论】:
标签: spring spring-batch spring-java-config late-binding
您可以通过以下方式实现:
@Bean
@StepScope
public JdbcCursorItemReader jdbcCursorItemReader(@Value("#{jobParameters['param1']}") String param1) {
return new JdbcCursorItemReaderBuilder<>()
.sql("SELECT * FROM MY_TABLE_" + param1)
// set other properties
.build();
}
参考文档在每个页面上都包含一个开关,可让您查看 Java 和 Xml 配置中的示例。这对您的迁移很有帮助。在此处查看示例:https://docs.spring.io/spring-batch/4.0.x/reference/html/readersAndWriters.html#readersAndWriters
【讨论】:
StringBuilder 或从属性文件加载查询或使用您认为更简洁的任何其他方法。