Spring Batch提供了一个特殊的bean scope类(StepScope:作为一个自定义的Spring bean scope)。这个step scope的作用是连接batches的各个steps。这个机制允许配置在Spring的beans当steps开始时才实例化并且允许你为这个step指定配置和参数。
如果你使用Spring Batch XML,这个step scope会自动注册到当前的Spring容器中(不需要额外的配置),否则你必须定义用StepScope类定义一个step scope,如:
<bean class=“org.springframework.batch.scope.StepScope”/>
事实上StepScope类实现了Spring的BeanFactoryPostProcessor接口,它可以自动运用这个step scope到beans上。
step scope可以非常有用,非常方便的和SpEL结合起来实现属性的后绑定
见下文