본문 바로가기
프레임워크/spring

스프링 빈과 의존관계

by 코딩은 잼있어 2021. 5. 16.
728x90

스프링 빈과 의존관계

스프링 빈이란??

간단하게 말하면 스프링 빈이랑 자바 객체를 의미합니다.

스프링 컨테이너에 의해서 자바 객체가 생상되면 이 객체를 스프링 빈이라고 부르는것입니다.

스프링 빈 생성후 의존관계 설정

스프링 빈을 생성하고난 뒤 의존관계를 주입해야합니다.

다시 말해서 동적인 객체 인스턴스간의 의존 관계 주입(Dependency Injection)을 하여 객체간의 관계를 만들어주는것 입니다.

스프링 빈과 의존관계

  • 컴포넌트 스캔과 자동 의존관계 설정
    • @Component 에노테이션이 있으면 스프링 빈으로 자동 등록됨
    • @Component를 포함하는 @Controller, @Service, @Repository도 스프링 빈으로 자동 등록 된다.
  • 자바코드로 직접 스프링 빈 등록하기
1. 컴포넌트 스캔과 자동 의존관계 설정

img

위와 같은 구조를 만들어아햔다.

memeberController - memberService 사이 의존 관계

img

@Controller : MemberController에 @Controller 를 사용하여 스프링 빈으로 등록

@Autowired : 스프링이 연관된 객체를 스프링 컨테이너에서 찾아준다. 이를 Dependency Injection 이라고 한다.

memberService - memberRepository 의존 관계

img

2. 자바코드로 직접 스프링 빈 등록하기

img

위 그림을 보다시피 해당 위치에 SpringCofig 자바 파일을 생성한뒤

img

@Configuration@Bean 에노테이션을 사용해서 스프링 빈 구조 관계를 만들수 있다.

728x90