본문 바로가기
Spring Tutorial

[Spring 입문 5] 스프링 빈과 의존관계: 자바 코드로 직접 스프링 빈 등록하기

by 미소5 2023. 7. 4.
  • 스프링 빈을 등록하는 2가지 방법
    • 컴포넌트 스캔과 자동 의존관계 설정
    • 자바 코드로 직접 스프링 빈 등록하기

[Spring 입문 4] 스프링 빈과 의존관계: 컴포넌트 스캔과 자동 의존관계 설정 (tistory.com)

 

[Spring 입문 4] 스프링 빈과 의존관계: 컴포넌트 스캔과 자동 의존관계 설정

스프링 빈을 등록하는 2가지 방법컴포넌트 스캔과 자동 의존관계 설정자바 코드로 직접 스프링 빈 등록하기[Spring 입문 5] 스프링 빈과 의존관계: 자바 코드로 직접 스프링 빈 등록하기 (tistory.com)

joly156.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 가 스프링 컨테이너에 스프링 빈으로 등록되었다.
    • memberControlle memberService → memberRepository

 


  • 실무에서는 주로 컴포넌트 스캔을 사용한다.
  • 상황에 따라 구현 클래스를 변경해야 하면, 설정을 통해 스프링 빈으로 등록한다.  (메모리 리포지토리를 다른 리포지토리로 변경할 예정인 지금과 같은 상황)
    • MemoryMemberRepository를 DbMemberRepository라고 이름만 바꾸면 된다!  →'직접 스프링 빈 등록하기'의 장점
@Bean
 public MemberRepository memberRepository() {
	return new DbMemberRepository();
 }
728x90
반응형