- 스프링 빈을 등록하는 2가지 방법
- 컴포넌트 스캔과 자동 의존관계 설정
- 자바 코드로 직접 스프링 빈 등록하기
[Spring 입문 4] 스프링 빈과 의존관계: 컴포넌트 스캔과 자동 의존관계 설정 (tistory.com)
- 회원 서비스와 회원 리포지토리의 @Service, @Repository, @Autowired 애노테이션을 제거하고 진행한다.
- 자바 코드로 직접 스프링 빈 등록하기
@Configuration
public class SpringConfig {
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
}
- memberService와 memberRepository 가 스프링 컨테이너에 스프링 빈으로 등록되었다.
- memberController → memberService → memberRepository
- 실무에서는 주로 컴포넌트 스캔을 사용한다.
- 상황에 따라 구현 클래스를 변경해야 하면, 설정을 통해 스프링 빈으로 등록한다. (메모리 리포지토리를 다른 리포지토리로 변경할 예정인 지금과 같은 상황)
- MemoryMemberRepository를 DbMemberRepository라고 이름만 바꾸면 된다! →'직접 스프링 빈 등록하기'의 장점
@Bean
public MemberRepository memberRepository() {
return new DbMemberRepository();
}
728x90
반응형
'Spring Tutorial' 카테고리의 다른 글
[Spring 입문 10] 스프링 DB 접근 기술: 순수 JDBC (0) | 2023.07.08 |
---|---|
[Spring 입문 9] 스프링 DB 접근 기술: H2 데이터베이스 설치 (0) | 2023.07.08 |
[Spring 입문 6] 웹 MVC 개발: 회원 웹 기능- 홈 (0) | 2023.07.04 |
[Spring 입문 4] 스프링 빈과 의존관계: 컴포넌트 스캔과 자동 의존관계 설정 (0) | 2023.07.02 |
[Spring 입문 1] 스프링 프로젝트 생성 (0) | 2023.02.08 |