본문 바로가기
Back Side/Framework > Spring

[어노테이션] @RequiredArgsConstructor 의존성 주입

by developerBeluga 2021. 11. 21.
728x90
반응형

 

 

 

Lombok를 이용해서 코드를 줄일 수 있다.

Update를 하기 위해 Service 클래스에 

 

@Service 
public class CourseService {

    
    private final CourseRepository courseRepository;

    
    public CourseService(CourseRepository courseRepository) {
        this.courseRepository = courseRepository;
    }

    @Transactional 
    public Long update(Long id, Course course) {
        Course course1 = courseRepository.findById(id).orElseThrow(
                () -> new IllegalArgumentException("해당 아이디가 존재하지 않습니다.")
        );
        course1.update(course);
        return course1.getId();
    }
}

 

위 코드를 통해 Repository에 넣게 스프링에 넣어줬는데

@RequiredArgsConstructor 를 활용해 생성자를 주입할 수 있다.

 

 

 

@RequiredArgsConstructor
@Service 
public class CourseService {

    
    private final CourseRepository courseRepository;

    @Transactional 
    public Long update(Long id, Course course) {
        Course course1 = courseRepository.findById(id).orElseThrow(
                () -> new IllegalArgumentException("해당 아이디가 존재하지 않습니다.")
        );
        course1.update(course);
        return course1.getId();
    }
}

 

@NonNull이나 final이 붙은 필드에 대한 생성자를 생성할 수 있기에

의존성이 많아지는 경우 잘 활용한다면 간결하게 코드를 작성할 수 있다.

 

 

 

728x90
반응형

댓글