[꼼꼼한 개발자] 꼼코더
[Spring, Spring Boot] - 생성자 주입을 사용해야 하는 이유(의존성 주입) 간단하고 쉽게 이해하기 본문
간단하고 쉽게/Spring, Spring Boot
[Spring, Spring Boot] - 생성자 주입을 사용해야 하는 이유(의존성 주입) 간단하고 쉽게 이해하기
꼼코더 2023. 7. 7. 09:13반응형
🧹 간단 정리
의존성 주입 방법을 선택할 땐 중 생성자 주입을 사용하자
생성자 주입은 코드의 유지 보수성과 테스트 용이성을 향상한다.
(자세한 내용은 아래 👀)
🧑🏻💻 코드 예제
👉🏻 Setter 방식(생성자 주입 적용 전)
public class UserService {
private UserRepository userRepository;
public void setUserRepository(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
👉🏻 생성자 주입 적용
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
👍🏻 생성자 주입 적용 시 장점
- 불변성: final과 함께 사용하여 한번 설정된 의존성을 변경되지 않게 설정하여 객체의 불변성을 보장. (setter 방식은 변경가능.)
- 의존성 보장: 객체 생성 시 필수로 필요한 의존성을 전달해야 하여 의존성 누락이나 잘못된 의존성 설정을 방지.(강제할 수 있다.)
- 테스트 용이성: 생성자 주입은 의존성을 직접 전달하므로, 의존성을 목(mock) 객체로 대체하여 단위 테스트를 수행이 쉬움.
- 코드 가독성: 생성자 주입은 클래스의 의존성이 명시적으로 드러나기 때문에 코드의 가독성을 높여준다.
결론적으로, 생성자 주입은 의존성 주입을 위한 좋은 패턴으로 여겨지며, 코드의 유지 보수성과 테스트 용이성을 향상시킨다.
'간단하고 쉽게 > Spring, Spring Boot' 카테고리의 다른 글
Comments