第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

將此字段值直接注入“studentStepOne”,這是唯一使用它的方法

將此字段值直接注入“studentStepOne”,這是唯一使用它的方法

RISEBY 2023-01-05 10:12:08
我開發(fā)了Spring Boot-Batch代碼并sonarlint/Sonar-Qube給出了以下錯(cuò)誤。我瀏覽了鏈接,但根據(jù)此鏈接無法理解解決方案:https ://rules.sonarsource.com/java/tag/spring/RSPEC-3305 。將此字段值直接注入“studentStepOne”,這是唯一使用它的方法。代碼:@Configuration@PropertySource("classpath:application.properties")public class StudentJob {    @Value( "${spring.chunk.size}")    private String chunkSize;    @Autowired    private JobBuilderFactory jobBuilderFactory;    @Autowired    private StepBuilderFactory stepBuilderFactory;    @Autowired    private JdbcCursorItemReader<Student> StudentReader;    @Autowired    private ItemProcessor<Student, Student> StudentProcessor;    @Autowired    private StudentWriter StudentWriter;    @Bean    public StudentStepExecuListner StudentStepExecuListner() {        return new StudentStepExecuListner();    }    @Bean("readStudentJob")    @Primary    public Job readStudentJob() {        return jobBuilderFactory.get("readStudentJob")                .incrementer(new RunIdIncrementer())                .start(StudentStepOne())                .build();    }    @Bean    public Step StudentStepOne() {        return stepBuilderFactory.get("StudentStepOne")                .<Student, Student>chunk(Integer.parseInt(chunkSize))                .reader(StudentReader)                .processor(StudentProcessor)                .writer(StudentWriter)                .listener(StudentStepExecuListner())                .build();    }}
查看完整描述

3 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

根據(jù)鏈接,它似乎是不言自明的:

這意味著對僅在單個(gè) @Bean 方法中使用的依賴項(xiàng)使用參數(shù)注入而不是字段注入。

所以對于你的工作,像這樣實(shí)例化它:

  @Bean("readStudentJob")
  @Primary
  public Job readStudentJob(Step StudentStepOne) { 
       return jobBuilderFactory.get("readStudentJob")
              .incrementer(new RunIdIncrementer())
              .start(StudentStepOne)
              .build();
  }

無關(guān),但你應(yīng)該遵循 java 約定。方法應(yīng)該使用駝峰命名法。StudentStepOne()應(yīng)該studentStepOne()


查看完整回答
反對 回復(fù) 2023-01-05
?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

在@Configuration類中,spring 將讀取該類,嘗試引用所有存在的 bean。因此,如果您只想在方法中引用一個(gè) bean,而不在方法之間共享,則不需要連接到類屬性中。只需在您的方法構(gòu)造函數(shù)中接收。


    @Bean

public Step StudentStepOne(StepBuilderFactory stepBuilderFactory) {

    return stepBuilderFactory.get("StudentStepOne")

            .<Student, Student>chunk(Integer.parseInt(chunkSize))

            .reader(StudentReader)

            .processor(StudentProcessor)

            .writer(StudentWriter)

            .listener(StudentStepExecuListner())

            .build();

}

spring 會自動設(shè)置 bean。


查看完整回答
反對 回復(fù) 2023-01-05
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

下面的答案將幫助你。


private StepBuilderFactory stepBuilderFactory;


@Autowired

public void setStepBuilderFactory(StepBuilderFactory stepBuilderFactory) {

    this.stepBuilderFactory= stepBuilderFactory;

}

您可以使用 setter 注入,而不是實(shí)施字段注入。不推薦現(xiàn)場注入。


查看完整回答
反對 回復(fù) 2023-01-05
  • 3 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號