인프런 커뮤니티 질문&답변

ssg.alln02님의 프로필 이미지
ssg.alln02

작성한 질문수

스프링 배치

FlowJob 아키텍처

Flow 생성 시, flowBuilder에 end()와 build()를 각각 호출하는 이유

작성

·

498

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

안녕하세요, FlowJob 관련하여서 궁금한 점이 있어 문의드립니다.

강의 중에 아래와 같이 작성된 코드가 있었는데요.

@Bean
public Flow flow() {
    FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("flow");

    flowBuilder.start(step1())
            .next(step2())
            .end(); 

    return flowBuilder.build();
}

FlowBuilder 내 end() 메소드를 살펴보면, end() 메소드 내에서 this.build()를 호출하는 것으로 보이는데요.

public final Q end() {
    return this.build();
}

 

하기와 같이 작성하지 않고 위처럼 end()와 build()를 각각 쓰는 사유가 있는지 궁금합니다.

@Bean
public Flow flow() {
    FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("flow");

    return flowBuilder.start(step1())
            .next(step2())
            .end();
}

 

새해 복 많이 받으세요 :)

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

그건 특별한 사유가 있는 것은 아닙니다.^^

자유롭게 원하시는대로 코드를 작성하시면 됩니다.

객체를 생성한다음 바로 리턴하기 때문에 build() 를 별도로 작성하기 보다는 맨 아래쪽처럼 바로 리턴하는 코드를 작성하는 것이 좀 더 깔끔하게 보입니다.

ssg.alln02님의 프로필 이미지
ssg.alln02

작성한 질문수

질문하기