스프링의 주요 특징

라이라·2023년 6월 13일
0
  1. 스프링의 주요 특징
  • POJO(Plain Old Java Object) 기반의 구성 (1)
  • 의존성 주입(DI)을 통한 객체 간의 관계 구성 (2)
  • AOP(Aspect-oRiented-Programming) 지원 (3)
  • WAS에 종속적이지 않은 개발 환경 (4)

1-(1)

POJO 구성
일반적인 자바 코드를 이용해 객체를 구성하는 방식을 그대로 스프링에서 사용할 수 있다는 뜻이다.
특정 라이브러리나 컨테이너 기술에 종속적이지 않다는 것을 의미.

1-(2)

제어의 역행(IOC)

  • 메서드, 객체의 호출작업을 개발자가 아닌 외부에서 결정하는 방식 (필요한 부분을 개발해서 끼워 넣기의 형태로 개발가능)
  • 컴퓨터 조립 방법과 유사하다.
    (어차피 각 부품간의 연결이나 호출은 메인보드에서 컨트롤 하기 때문에 호환되는 다른 장비들을 마음대로 끼워넣을 수 있다)

의존성 주입(DI)

  • 제어의 역행이 일어날 때 스프링이 내부에 있는 객체(Bean)들 간의 관계를 관리할 때 사용하는 기법
  • 의존적인 객체를 직접 생성, 제어하는 것이 아닌 IOC로 특정 객체에 필요한 객체를 외부에서 결정하여 연결하는 것을 의미
  • 개발자는 자신이 만드는 객체나 클래스 이외의 신경을 쓸 필요가 없고 코드에 필요한 객체는 스프링을 통해 주입받는 구조로 작성된다.

DI의 종류

  • 생성자(new)를 통한 주입
  • set 메서드를 이용한 주입
  • 이에 대한 처리는 애노테이션 만으로 간단하게 처리가능하다.

1-(3)

AOP의 지원

  • 반복적인 코드의 제거
  • 횡단 관심사(cross-concern)를 모듈로 분리할 수 있다.

AOP의 장점

  • 핵심 비지니스 로직에만 집중하여 코드를 개발 가능
  • 각 프로젝트마다 다른 관심사를 적용할 때 코드의 수정을 최소화
  • 원하는 관심사의 유지보수가 수월한 코드 구성 가능

1-(4)

트랜잭션의 지원

  • DB를 이용할 때 반드시 신경써야 할 부분은 하나의 업무가 여러 작업으로 이루어 질 때의 트랜잭션의 처리이다.
  • 트랜잭션의 처리는 상황에 따라 복잡하게 구성될 수 있는데 스프링은 이런 트랜잭션의 관리를 애노테이션이나 XML으로 설정 가능하기 때문에 편리하다.
profile
혼자 보려고 올리는 용도

0개의 댓글