개발자의 오르막

의존성 주입 본문

SpringFrameWork/Spring

의존성 주입

계단 2019. 7. 12. 18:27

# 의존성 (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