1

对不起,我有点讨厌英语。

请帮我。我有一个问题。
我想将 XML 更改为 Java 类以供 @Configuration 和 @Bean 使用。
我该怎么办 ??

以下是我想改变的。
我不知道'module-context.xml',尤其是......
只是我想知道。

启动上下文.xml

<import resource="classpath:/META-INF/spring/module-context.xml" />

<bean id="jobOperator"
    class="org.springframework.batch.core.launch.support.SimpleJobOperator"
    p:jobLauncher-ref="jobLauncher" p:jobExplorer-ref="jobExplorer"
    p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry" />
<bean id="jobExplorer"
    class="org.springframework.batch.core.explore.support.JobExplorerFactoryBean"
    p:dataSource-ref="SpringDataSource" />
<bean id="jobRegistry"
    class="org.springframework.batch.core.configuration.support.MapJobRegistry" />
<bean
    class="org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor">
    <property name="jobRegistry" ref="jobRegistry" />
</bean>
<bean id="jobLauncher"
    class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
    <property name="jobRepository" ref="jobRepository" />
</bean>
<bean id="jobRepository"
    class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean"
    p:dataSource-ref="SpringDataSource" p:transactionManager-ref="springTransactionManager" />

<bean id="placeholderProperties"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:batch.properties" />
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <property name="ignoreUnresolvablePlaceholders" value="true" />
    <property name="order" value="1" />
</bean>

<bean id="SpringDataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${batch.jdbc.driver}" />
    <property name="url" value="${batch.jdbc.url}" />
    <property name="username" value="${spring.batch.jdbc.user}" />
    <property name="password" value="${spring.batch.jdbc.password}" />
</bean>
<bean id="springTransactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
    lazy-init="true">
    <property name="dataSource" ref="SpringDataSource" />
</bean>

模块上下文.xml

<job id="job1" xmlns="http://www.springframework.org/schema/batch"
    incrementer="jobParametersIncrementer">
    <step id="simple-step" parent="simpleStep">
        <tasklet>
            <chunk reader="exampleReader" writer="exampleWriter" />
        </tasklet>
    </step>
</job>
<bean id="exampleReader"
    class="jp.co.app.cm.nochunk.ExampleItemReader" />
<bean id="exampleWriter"
    class="jp.co.app.cm.nochunk.ExampleItemWriter" />
<bean id="simpleStep"
    class="org.springframework.batch.core.step.item.SimpleStepFactoryBean"
    abstract="true">
    <property name="transactionManager" ref="springTransactionManager" />
    <property name="jobRepository" ref="jobRepository" />
    <property name="startLimit" value="100" />
</bean>

请告诉我一个人?

4

2 回答 2

3

翻译前四个bean,这应该足以让您开始并掌握想法:

@Configuration
public class Spring {

    @Bean
    public MapJobRegistry mapJobRegistry() {
        return new MapJobRegistry();
    }

    @Bean
    public JobRegistryBeanPostProcessor jobRegistryBeanPostProcessor() {
        JobRegistryBeanPostProcessor pp = new JobRegistryBeanPostProcessor();
        pp.setJobRegistry(mapJobRegistry());
        return pp;
    }

    @Bean
    public SimpleJobLauncher simpleJobLauncher() {
        SimpleJobLauncher jl = new SimpleJobLauncher();
        jl.setJobRepository(jobRepository().getObject());
        return jl;
    }

    @Bean
    public JobRepositoryFactoryBean jobRepositoryFactoryBean() {
        JobRepositoryFactoryBean fb = new JobRepositoryFactoryBean();
        fb.setDataSource(springDataSource());
        fb.setTransactionManager(springTransactionManager());
        return fb;
    }

}
于 2012-10-09T16:12:34.073 回答
1

我知道这是一篇旧帖子,但以防万一有人通过谷歌点击这篇文章。
Java 配置被添加到 Spring Batch 开始版本 2.2。

在 2.2.0 之前,配置作业的唯一选项是通过 XML(通过批处理 DSL 或手动)。但是,在 2.2.0 中,添加了基于 Java 的配置作为定义 Spring Batch 作业的一种方式。为了支持这个新的配置选项,添加了注释和构建器类。

http://docs.spring.io/spring-batch/2.2.x/reference/html/whatsNew.html#whatsNewJavaConfiguration http://docs.spring.io/spring-batch/2.2.x/reference/html/configureJob .html#javaConfig

你可以在这里找到一个例子:
https ://github.com/spring-projects/spring-batch/tree/2.2.x/spring-batch-samples/src/main/java/org/springframework/batch/sample/config

于 2014-03-27T05:54:42.503 回答