Notice
Recent Posts
Recent Comments
Link
archive
Spring DI(의존성 주입, Dependency Injection) 본문
Dependency Injection은 의존하는 클래스를 직접 생성하는 것이 아닌, 외부에서 객체를 주입해주는 방식으로,
DI는 IoC(Inversion of Control)의 일종이다.
객체가 서로 의존성을 가지고 있는 경우, 어느 한 쪽에 변화가 생기면 다른 한 쪽에도 영향이 간다.
DI를 통해 이를 해결할 수 있다. 즉, 객체 간의 결합도를 줄여 코드의 재활용성이 높아진다.
아래와 같이 new 키워드로 직접 객체를 생성하는 것이 아니라,
public class Controller {
private Service service = new Service();
}
외부에서 객체를 전달받는 것이다.
public Class Controller{
private Service service;
public Controller(Service service) {
this.service = service;
}
}
스프링에서 의존성을 주입하는 방식에는 크게 세가지가 있다.
1. 생성자를 통한 주입
2. 필드를 통한 주입
3. Setter를 통한 주입
이 중, 생성자를 통한 주입방식이 권장된다.
스프링에서는 스프링 컨테이너에서 필요한 객체들을 생성해서 저장한다.
이 때 객체를 Bean이라고 하며, 생성 시 의존 관계에 따라 객체가 주입된다.
annotation 또는 xml 파일을 사용해서 Bean객체의 의존성 관계를 설계할 수 있다.
각각의 방식에 대해서는 다음 포스팅에서 다루겠다.
'STUDY > Spring' 카테고리의 다른 글
Spring MVC 구조 (0) | 2021.03.11 |
---|---|
스프링 프로젝트 EC2에 배포, 포트포워딩, 도메인 적용 (0) | 2021.02.17 |
JSON 데이터 다루기 - org.json 패키지 (0) | 2021.02.15 |
네이버 쇼핑 검색 API 이용하기 (0) | 2021.02.07 |
[JPA] 특정 기간 내의 데이터만 조회하기 (0) | 2021.02.07 |
Comments