[Spring] DI 이란? (의존성 주입)

PersesTitan·2022년 6월 17일
0

Spring

목록 보기
6/48
post-thumbnail

DI(Dependency Injection)

Dependency : 의존
Injection : 주입

DI는 의존성 주입이란 외부에서 객체를 생성하여 직접 넣어주는 걸 말합니다. Spring을 하다보면 값을 넣지도 않고 객체를 볼 수 있는데요.

@Service
@Transactional(readOnly = true)
@RequiredArgsConstructor
public class MemberService {
	
	//이렇게 쓰거나
    private final MemberRepository memberRepository;
    
    (...)
}

@Repository
@RequiredArgsConstructor
public class MemberRepository {
	
    //이런식
    private final EntityManager em;
}

Spring에서 알아서 생성해서 넣어주기에 따로 직접 생성하지 않고 사용 할 수 있습니다. 원래 @PersistenceContext@Autowire와 같은 어노테이션을 사용하면서 주입해주는데 최신 Spring에서는 생성자로 생략이 가능하기에 저런식으로 짧게 사용이 가능해졌습니다.

결론으로 DI는 직접 객체를 new MemberRepository() 이런식으로 생성하지 않고 외부에서 따로 만들어서 주입시켜주는 것을 말하는 것입니다.

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글