ctrl+p 인자보기
ctrl+alt+b 클래스 이동
ctrl+n 클래스 검색
- 컴포넌트 스캔과 자동 의존관계 설정
- 스프링 컨테이너는 딱 하나의 컨트롤러만 등록이 되어서 다른 컨트롤러들이 클래스를 가져다 쓰는 것을 방지할 수 있음
- @Controller, @Service, @Repository 에 @Component 가 포함되어 있음
- @SpringBootApplication 에 들어가면 ComponentScan이 있어서 동일하거나 하위패키지에서 컴포넌트를 스캔함
- 스프링 빈 등록 이미지
1.컨트롤러 폴더에 MemberController 생성
2. 컨트롤러 작성하고 @Autowired사용하여 MemberController와 memberService 연결
3. @Service사용하여 회원 서비스 스프링 빈 등록
4.@Repository사용하여 회원 리포지토리 스프링 빈 등록
- 자바 코드로 직접 스프링 빈 등록하기
1.화원 서비스와 회원 리포지토리의 애노테이션을 제거
2.hellospring패키지에 SpringConfig 클래스 생성
3.아래와 같이 작성
- 직접 코드로 빈 등록의 장점: DB연결할 때 변경하기 쉬움
- DI에는 필드주입, 셋터주입, 생성자 주입이 있다. 의존관계가 샐행중에 동적으로 변하는 경우는 거의 없으므로 생성자 주입을 권장함
- 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용
- 정형화 되지 않거나,상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록
- @Aurowired를 통한 DI는 스프링이 관리하는 객체에서만 동작
'스프링 > 스프링입문' 카테고리의 다른 글
컨비니언스 메서드: 관계를 관리하는 메서드 (0) | 2023.03.01 |
---|---|
[강의 정리] 01. 객체 지향 설계와 스프링 (0) | 2022.01.10 |