개발 공부
Spring 의존성 주입
깜장콩_912
2023. 7. 11. 22:07
728x90
의존성 주입 (Dependency Injection - DI)
: 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입 받아 사용하는 방법
ex) new 연산자를 이용해서 객체를 생성하는 것, 외부 서비스에서 가져와서 쓰는 것
=> 외부 객체를 내부 객체에서 사용할 수 있는 것임.
- 강한 결합 : 객체 내부에서 다른 객체를 생성하는 것은 강한 결합도를 가지는 구조
- 느슨한 결합 : 객체를 주입 받는다는 것은 외부에서 생성된 객체를 인터페이스를 통해서 넘겨받는 것
의존성 주입 3가지
1. 생성자 주입
2. 필드 주입
3. 수정자 주입
DI를 적용하지 않았을 때
- 결합도 높아짐 -> 확장성 낮아짐
DI를 적용했을 때
- new를 사용하지 않고 @Autowired 어노테이션을 사용
- @Autowired : 스프링 컨테이너가 관리하는 Bean들 중에 @Autowired로 선언한 객체와 동일한 Bean이 있으면 의존관계를 주입해줌.
해당 객체가 Bean으로 등록되지 않았다면 주입 불가
- @Autowired : 스프링 컨테이너가 관리하는 Bean들 중에 @Autowired로 선언한 객체와 동일한 Bean이 있으면 의존관계를 주입해줌.

728x90