반응형
본 내용은 인프런의 김영한 님의 강의 "스프링 핵심 원리 - 기본편" 내용을 바탕으로 정리한 내용입니다.
1. 자동 주입 기능을 기본으로 사용
- 스프링은 @Controller , @Service 처럼 빈을 자동으로 스캔하여 주입하고 의존성을 관리해주므로 자동주입을 기본으로 사용하는 것이 좋다.
- 의존성을 주입해야 할 빈이 많고, 빈의 의존성이 자주 변경되는 경우에 유용하다.
- 자동 빈 등록을 사용해도 OCP, DIP가 지켜진다.
2. 수동 주입은 의존성 주입을 더 명시적으로 관리하고 싶을 때 사용
- 애플리케이션은 크게 업무 로직과 기술 지원 로직으로 나뉩니다. 웹을 지원하는 컨트롤러, 핵심 비즈니스 로직이 있는 서비스, 등이 모두 업무 로직이고, 기술 지원 로직은 기술적인 문제나 AOP를 처리할 때 주로 사용되는데 데이터베이스 연결, 공통 로그 처리 처럼 업무 로직을 지원하기 위한 공통 기술들을 말한다. 이런 기술 지원 로직들은 보통 애플리케이션 전반에 영향을 미치는 기술적인 문제나 공통 기능들을 담당하기에 설정 정보에서 바로 확인할 수 있게 수동 빈 등록을 사용하는 것이 유지보수에 좋다.
- 비즈니스 로직 중에서 다형성을 활용할 때, List나 Map으로 스프링빈을 한번에 조회할 때는 명확한 빈 주입을 위해 수동 주입을 하는 것이 바람직하다. 혹시나 자동으로 등록하는 경우는 특정 패키지에 같이 묶어두는게 좋다.
반응형
'Spring' 카테고리의 다른 글
[스프링] 빈 스코프란? (0) | 2023.07.23 |
---|---|
[스프링] 스프링 빈의 생명주기 콜백 (0) | 2023.07.23 |
[스프링] 커스텀 어노테이션(Custom Annotation) (0) | 2023.07.22 |
[스프링] 조회할 빈이 2개 이상일 경우(@Qualifier, @Primary) (0) | 2023.07.22 |
[스프링] 롬복(Lombok) (0) | 2023.07.22 |