是否可以访问在步骤范围之外定义的 bean?例如,如果我定义一个策略“strategyA”并将其传递到作业参数中,我希望 @Value 解析为 strategyA bean。这可能吗?我目前正在通过从 applicationContext 手动获取 bean 来解决这个问题。
@Bean
@StepScope
public Tasklet myTasklet(
@Value("#{jobParameters['strategy']}") MyCustomClass myCustomStrategy)
MyTasklet myTasklet= new yTasklet();
myTasklet.setStrategy(myCustomStrategy);
return myTasklet;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在无需修改代码的情况下添加更多策略。