gpt4 book ai didi

java - Spring注入(inject)实现bean

转载 作者:行者123 更新时间:2023-12-01 10:31:42 25 4
gpt4 key购买 nike

我有来自conf spring文件的以下片段:

<bean id="taskletStep" abstract="true" class="org.springframework.batch.core.step.tasklet.TaskletStep">
<property name="jobRepository" ref="jobRepository"/>
<property name="transactionManager" ref="transactionManager"/>
</bean>

<bean id="hello" class="com.techavalanche.batch.PrintTasklet">
<property name="message" value="Hello"/>
</bean>

<bean id="world" class="com.techavalanche.batch.PrintTasklet">
<property name="message" value=" World!"/>
</bean>

<bean id="mySimpleJob" class="org.springframework.batch.core.job.SimpleJob">
<property name="name" value="mySimpleJob" />
<property name="steps">
<list>
<bean parent="taskletStep">
<property name="tasklet" ref="hello"/>
</bean>

<bean parent="taskletStep">
<property name="tasklet" ref="world"/>
</bean>
</list>
</property>

对我来说,以下几点不是很清楚:

<bean parent="taskletStep">
<property name="tasklet" ref="hello"/>
</bean>

taskletStep 它是一个接口(interface),没有任何属性。然而代码工作正常,看起来 ID 为“hello”的 bean 被注入(inject)了。因此我想问,这是从配置文件将 bean 实现(id:hello)注入(inject)到接口(interface) bean(id:taskletStep)的标准方法吗?

最佳答案

这是 Spring Batch Job 中的一个 tasklet 步骤。你正在做的事情完全没问题。或者,您也可以执行以下操作:

<job id="mySimpleJob">
<step id="step1">
<tasklet ref="hello"/>
</step>

<step id="step2">
<tasklet ref="world"/>
</step>
</job>

这里是完整的引用: http://docs.spring.io/spring-batch/reference/htmlsingle/

关于java - Spring注入(inject)实现bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35060070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com