Bean
注釈は、タイプStep
のBeanを作成することです。job
にこのBeanを注入できます。
@Bean
@Autowired
public Job importUserJob(Step step) { // auto-wired the bean
return jobBuilderFactory.get("importUserJob")
.incrementer(new RunIdIncrementer())
.listener(listener())
.flow(step) // note this
.end()
.build();
}
、あなたが直接、同じクラスにステップとジョブの例では
@Bean
public Job importUserJob() { // no args
return jobBuilderFactory.get("importUserJob")
.incrementer(new RunIdIncrementer())
.listener(listener())
.flow(step1()) // directly calling the method
.end()
.build();
}
ジョブにSTEP1メソッドを呼び出しているので、彼らは直接メソッドを呼び出した場合は豆の注釈が必要とされていませんしかし、彼らが両方とも異なるクラスにいる場合は、それらを豆として作り、必要なクラスに注入する必要があります。
step1
は「あなたのメソッドがビーンあなたと注釈されている場合、工場stepBuilderFactory
UPDATE
から作成ステップ名は、Bean定義のリストを取得し、豆の注釈ととせずにアプリケーションを実行していますコンテキストからBeanを取得する
ApplicationContext context = SpringApplication.run(SpringBoot.class, args);
String[] beans = context.getBeanDefinitionNames();
for (String bean : beans) {
System.out.println(bean);
}
まだ@Beanは明確ではありません。いくつかの例を挙げて詳細を教えてください。 –
これはXMLの 'でBeanを定義するのと似ていますが、Beanタグでメソッドに注釈を付けるとBeanが作成され、私が掲示したコードを見てください、私は '@ Autowired'でジョブメソッドに注釈を付け、引数として'ステップステップ 'を渡すと、ステップビーンは自動配線されます –
Saravana