Spring Framework - IoC

한승남·2024년 10월 16일
0

BackEnd

목록 보기
2/4

Spring Framework 시작

Framework vs Library

Framework = 집
코드의 재사용성 증가 위해 클래스와 라이브러리 모임
Library = 가구
개발자가 만든 클래스의 나열로, 다른 프로그램들에게 사용할 수 있도록 제공

Pojo

  • Plain Old Java Object의 약자로 말 그대로 이전부터 사용하던 평범한 자바 객체를 의미한다.
    - 객체를 만들 때 특별히 무언가를 상속받아서 확장 할 필요가 없다는 것을 강조하기 위한 말이다.
    - 즉, POJO를 사용하면 특정 기술이나 스펙에 종속되지 않는다.
  • 스프링과 같은 프레임워크는 반제품 상태라 비즈니스 로직이 빠져있는데, 일반적으로 비즈니스 로직을 제공하는 클래스를 작성할 때 POJO로 작성해주면 된다. 이런 POJO를 Bean이라고 부른다.
  • 스프링 프레임워크에서는 이러한 Bean을 관리하므로 스프링을 빈의 Container라고 부른다.

(Inversion of Control, 제어의 역행)

IoC/DI
객체 지향 언어에서 Object간의 연결 관계를 런타임에 결정
객체 간의 관계가 느슨하게 연결됨
IoC의 구현 방법 중 하나가 DI

-> Dependency Lookup 
	-> JNDI Lookup
-> Dependency Injection 
    -> Setter Injection
	-> Constructor Injection
	-> Method Injection

IoC 개념

  • 객체간 강한 결합 (tightly-coupling)
    - 클래스 호출 방식
    • 클래스내에 선언과 구현 모두 되어 있음 -> 다양한 형태 변화 불가능
    • Class 세부사항이 변경되면 다른 Class도 변경해야함 (의존 관계 높음)
  • 다형성을 통한 결합도 낮춤 (loosely-coupling)
    - 인터페이스 호출 방식 (example Service)
    • 구현 클래스 교체가 용이 다양한 형태 변환 가능
profile
오미자를 좋아하는 개발자

0개의 댓글