@Component, @Controller, @Service, @Repository의 차이점에 대해서 설명해주세요.1. 직접 조사(구글링, 공식문서, 기술 포스팅 등으로 학습)어노테이션적용 계층주요 역할스프링의 추가 기능코드 예시@Component전 계층 (범용)스프링 IoC 컨테이너에 빈(Bean)으로 등록- 의존성 주입(DI) 대상이 될 수 있음- 특별한 기능 없음 (단순 빈 등록)java@Componentpublic class MyUtil {...}@RepositoryPersistence Layer (DAO/DB)데이터베이스와 직접 상호작용하는 DAO 정의- 발생한 DB 관련 예외를 DataAccessException 계열 예외로 변환 (예외 번역)- 컴포넌트 스캔 시 자동 빈 등록java@Repo..