컴포넌트 스캔과 자동 의존관계 설정 - 스프링(부트)

김재훈·2021년 1월 14일
1

Spring

목록 보기
2/2

Controller - 외부 요청 받음
Service - 비즈니즈 로직 생성
Repository - 데이터 저장

@Autowired
컨트롤러와 서비스를 연결시켜줄 때 사용, 생성자에 이렇게 쓰면
컨트롤러가 생성될 때 스프링빈에 등록되어있는 멤버서비스 객체를
가져다 넣어줌 - DI

@Component 애노테이션이 있으면 스프링 빈으로 자동 등록
@Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도
컴포넌트 스캔 때문

@Component를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록
@CONTROLLER
@Service
@Repository

스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록
(유일하게 하나만 등록해서 공유) 따라서 같은 스프링 빈이면 모두 같은 인스턴스, 설정으로 싱글톤이 아니게 설정할 수 있지만, 특별한 경우를 제외하면 대부분 싱글톤을 사용

지식 출처 - 김영한(우아한형제들 팀장)님의 스프링 강의

profile
같이 협업하며 성장하고싶은, 좋은 개발자를 지향합니다 :)

0개의 댓글