개발자의 오르막
의존성 주입 본문
# 의존성 (Dependency Injection) 이란?
의존성이란 의존 관계를 의미한다. (둘 이상의 객체가 서로 협력하는 관계)
- A는 B에 의존하는 관계
- A는 B를 사용
- A클래스에서 B 객체를 생성하고, B객체를 활용
그러므로 B의 변화가 A에 영향을 끼침, B가 변할 때마다 A를 관리(B의 객체를 계속해서 수정)해야 함.
이러한 의존관계를 없애주기 위해 A와 B 클래스 중간 역할을 해주는 Container를 사용
객체를 만들어주고 연결하는 작업을 Spring IoC Container에서 함.
각 클래스를 Spring에서 사용하기 위해서 어노테이션을 통해 연결을 해줘야 함.
@Component : 해당 클래스를 스프링에서 관여하도록 선언하는 것
@Autowired : A가 B를 사용하기 위해 만들었던 객체를, B가 아닌 Spring에 위임.
(A → Spring → B)
@SpyBean(해당 클래스 이름.class) : Test에서 B를 사용하기 위한 객체를 Spring에서 위임하는 방법
(A → Spring → B)
의존성 주입의 장점
- 각 객체들이 강하게 연결되어있는 관계를 유연하게 바꿀 수 있음.
- 객체들을 직접 생성하고 관리하는 작업들을 Spring에 위임함으로써 코드가 간결해짐.
'SpringFrameWork > Spring' 카테고리의 다른 글
Spring framework - Maven (0) | 2019.08.27 |
---|---|
Spring Frame Work 개발환경 구축 (0) | 2019.08.14 |
가짜객체 (0) | 2019.07.17 |
테스트 대역 (0) | 2019.07.10 |
트랜잭션 서비스 추상화 (0) | 2019.07.08 |
Comments