1

すみません、私は英語が少し嫌いです。

私を助けてください。問題があります。
@Configuration と @Bean を使用するために、XML を Java クラスに変更したいのです。
私はどのように行いますか ??

変更したいのは以下です。
特に「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

最初の 4 つの 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

これが古い投稿であることは承知していますが、誰かが Google 経由でこの投稿にアクセスした場合に備えて。
バージョン 2.2 を開始する Spring バッチに Java 構成が追加されました。

2.2.0 までは、ジョブを構成するための唯一のオプションは XML 経由 (バッチ DSL または手動) でした。ただし、2.2.0 では、Spring Batch Job を定義する方法として Java ベースの構成が追加されました。この新しい構成オプションをサポートするために、注釈とビルダー クラスが追加されました。

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 に答える