스프링 빈과 의존관계

JeeHyeok Lee·2022년 1월 24일
0

스프링 빈을 등록하고, 의존관계 설정하기

스프링 빈 등록하기

스프링 빈을 등록하는 2가지 방법

  • 컴포넌트 스캔을 통한 스프링 빈 등록
  • 자바 코드를 통한 스프링 빈 등록

이 두가지 방법중 컴포넌트 스캔을 활용한 방법으로 스프링 빈을 등록하려고 한다.

컴포넌트 스캔을 활용한 스프링 빈 등록

  • @Component
    -@Controller
    -@Service
    -@Repository

컴포넌트 스캔을 통해서 스프링 빈으로 등록을 시키기 위해서는 각각에 맞는 애노테이션을 등록해주면 된다. 컨트롤러, 서비스, 레포지토리에 맞는 애노테이션을 사용하면 되는데 세 애노테이션이 @Component에 포함되기 때문에 세 가지 경우 모두에 @Component를 사용해도 무방하다.

컴포넌트 활용을 통한 스프링 빈 등록 예시는 다음과 같다.

package hello.hellospring.controller;


import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class MemberController {

    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }
}

의존관계 주입하기

의존관계 주입이란 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어주도록 하는 것을 말하고 이는 DI(Dependency injection) 또는 의존성 주입이라고 한다.

의존성 주입을 하기 위해서는 @Autowired 애노테이션을 붙여주면 된다.

@Autowired를 활용한 의존관계 주입 예시는 다음과 같다.

@Autowired
    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

0개의 댓글