JAVA

[스프링] 스프링 프레임워크 특징

코린이도이 2023. 11. 1. 18:01

제어 역전(IoC, Inversion of Control)

  • 객체의 생명주기 관리를 외부(Spring 컨테이너, IoC 컨테이너)에 위임
  • 제어 역전을 통해 의존성 주입(DI)과 관점 지향 프로그래밍(AOP) 가능

의존성 주입 방법 3가지

  • 생성자를 통한 의존성 주입
  • 필드 객체 선언을 통한 의존성 주입
  • setter 메서드를 통한 의존성 주입

관점 지향  프로그래밍(AOP, Aspect-Oriented Programming)

  • 관점(Aspect)을 기준으로 묶어 개발하는 방식
  • 주로 로깅과 트랜잭션과 같이 반복적으로 사용되는 부가 기능을 공통 로직으로 처리하도록 모듈화해 삽입
  • OOP를 대체하는 개념이 아닌 OOP를 더 잘 사용하도록 돕는 개념

스프링프레임워크 특징

  • POJO: 다른 기술은 사용하지 않고 순수 Java만을 통해서 생성한 객체
  • 제어 역전: 객체의 생명주기 관리를 외부에 위임
  • 의존성 주입: 사용할 객체를 직접 생성하지 않고 외부 컨테이너가 생성한 객체를 주입 받아 사용
  • 관점 지향 프로그래밍: 로깅과 트랜잭션 같이 반복적으로 사용되는 부가 기능을 공통 로직으로 처리하도록 모듈화