스프링 프레임워크

IT위키
이수민 (토론 | 기여)님의 2020년 3월 2일 (월) 12:25 판
Spring Framework
EJB 기반의 복잡함과 무거움을 극복하고 개발 생산성 향상과 고품질의 시스템 개발을 위한 자바 플랫폼 상의 경량화된 오픈소스 웹 어플리케이션 프레임워크
  • 기존 기업용 시스템을 개발할 때 사용되던 Java Enterprise Edition을 시장에서 대체
  • 안정성과 유연성이 입증되어 전자정부 표준 개발 프레임워크의 핵심 근간으로 활용

특징

  • 의존성 주입(Dependency Injection)
    • 각각의 계층이나 서비스들 간에 의존성 존재할 경우 프레임워크가 상호 연결시켜줌
    • XML 파일을 통한 환경설정
  • 제어 반전(Inversion of Control)
    • 컨트롤의 제어권이 프레임워크에 존재
    • 스프링에서 사용자 코드 호출 가능
  • 트랜잭션 관리(Transaction Management)
    • 로컬/글로벌 트랜잭션 구분 없는 일관된 프로그래밍 모델 제공
    • 트랜잭션 API에 의존성을 갖지 않는 추상화된 트랜잭션
  • 객체 관리(Object Management)
    • 컨테이너에서 직접 객체 관리(생성/소멸)
    • 개발자의 객체 생성 및 소멸 관리 부담 감소
  • 관점 지향 프로그래밍(AOP)
    • 여러 모듈에서 공통적으로 사용하는 기능의 분리 지원
    • 추상화된 트랜잭션 관리, 로깅, 보안 등의 공통 기능 활용
  • 영속성
    • 데이터베이스 처리 라이브러리와 인터페이스 제공
    • JDBC, iBatis, Hibernate 등에 대한 지원

관련 프로젝트

참고 문헌