본 글은 스프링 빈의 의존 관계를 자동 설정하는 방법에 대해 다루고 있다.
스프링 빈 설정 방법은 크게 두 가지가 존재한다.
1. 컴포넌트 스캔과 자동 의존관계 설정(쉽게 Autowired 사용)
2. 자바 코드로 직접 스프링 빈 등록
먼저 Autowired를 통한 컴포넌트 스캔과 자동 의존관계 설정 방식을 보자.
+필드 주입방법도 있으나 잘 사용함
+Setter 주입은 한번 생성하고 변경할 경우 오류가 발생할 수 있음, 아무나 호출할 수 있게 되어 좋지 않음
다음과 같이 설정해주면 memberService 와 memberRepository 가 스프링 컨테이너에 스프링 빈으로 등록되었다
두번째 방법은 자바 코드로 직접 스프링 빈을 등록하는 방식이다.
@Bean
public MemberService memberService() {
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
컨트롤러는 스프링이 관리하는 것이기 때문에 autowired로 해주면 됨
과거에는 XML로 설정했었음