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에서 제공하는 인터페이스이다.
생성자를 대신 생성해주는 것을 알 수 있다.
'Spring' 카테고리의 다른 글
Cannot resolve symbol 'springframework' (0) | 2023.07.17 |
---|---|
Spring - MultiValueMap<K, V>: Value가 List로 저장 (0) | 2023.01.13 |
jasypt 에러: Failed to bind properties under 'spring.datasource.password' to java.lang.String: (0) | 2022.12.29 |
MyBatis란(SQL Mapper) (0) | 2022.12.24 |
Spring Boot: Spring 환경설정 (0) | 2022.12.21 |
댓글