스프링 컨셉

도람·2025년 5월 26일
post-thumbnail

Ioc와 DI

  • 스프링에는 주요한 컨셉인 제어의 역전(Ioc)와 의존성 주입(DI)가 있다.

제어의 역전(IoC)

  • 제어의 역전, IoC는 Inversion of Control을 줄인 표현이다.
  • 일반적인 자바의 구조에서는
public class A{
	b = new B();
}

이처럼 객체가 필요한 곳에서 "직접" 생성한다.

  • 제어의 역전은 다른 객체를 직접 생성하거나 제어하는 것이 아닌, 외부에서 관리하는 객체를 가져와 사용하는 것이다.
public class A{
	private B b;
}

이처럼 객체를 직접 생성하지 않고 어디서 받아와서 사용한다.


의존성 주입(DI)

  • 의존성 주입, DI는 Dependency Injection을 줄인 표현이다.
  • DI는 어떤 클래스가 다른 클래스에 의존한다는 것이다.
  • @Autowired라는 애너테이션은 스프링 컨테이너에 있는 빈이라는 것을 주입하는 역할을 한다.
  • 빈: 스프링 컨테이너에서 관리하는 객체.
public class A{

 //A에서 B를 주입받는 것
 @Autowired
	B b;
}

Ioc에서는 private B b;로 선언만 하고, 직접 객체를 생성하지 않았다. 위 코드에서는 @Autowired를 통해 객체를 주입받고 있다.


해당 글은 다음 도서의 내용을 정리하고 참고한 글임을 밝힙니다.
신선영, ⌜스프링 부트 3 벡엔드 개발자 되기 - 자바 편⌟, 골든래빗(주), 2023, 384쪽

profile
정도를 걷는 엔지니어

0개의 댓글