본문 바로가기
반응형
Spring

Spring DI(Dependency Injection, 의존성 주입)

by brightGarden02 2022. 12. 7.

DI란(What):

의존성 주입(DI)은 Spring Framework에서 지원하는 핵심 프로그래밍 모델이다.

의존성이 있다는 말은 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. (의존한다 = 사용한다) 

 

예를 들어, QuestionController 객체가 QuestionService를 사용하고 있는 경우,

QuestionController가 QuestionService에 의존성이 있는 것이다.

 

public class QuestionController {

    private QuestionService questionService;

 

의존성 주입이란 두 객체 간의 관계를 맺어주는 것이다.

객체를 직접 생성하는 것이 아닌 외부에서 객체를 생성 후 주입시켜준다.

의존성 주입에는 여러가지가 있다. 생성자 주입, 수정자 주입. 필드 주입 등등이 있다. Spring에서는 생성자 주입을 권장한다.

 

 

 

DI 사용하는 이유(Why):

애플리케이션 실행 시점에 객체 간의 관계를 설정해줌으로써

결합도를 낮추고 유연성 있는 코드로 구현하기 위함

 

 

 

DI 사용하는 방법(How): 

DI 방법 중 생성자 주입을 사용해보겠다.

 

1. 필드 객체에 final을 적는다.

2. Lombok 기능인 @RequiredArgsConstructor를 적는다

 

@Controller
@RequiredArgsConstructor
@RequestMapping("question")
public class QuestionController {

    private final QuestionService questionService;

 

@RequiredArgsConstructor은 Lombok에서 제공하는 인터페이스이다.

생성자를 대신 생성해주는 것을 알 수 있다.

 

댓글


반응형
반응형