Spring, Spring Framework란

프레임워크

  • 개발에서 기본이 되는 뼈대나 틀을 제공해준다
    • 프레임워크 : 애플리케이션의 기본 아키텍쳐제공
    • 개발자 : 그 뼈대에 살을 붙이는 작업

프레임워크의 장점

  • 빠른 구현시간
  • 쉬운 관리
  • 개발자들의 역량 획일화
  • 검증된 아키켁처의 재사용과 일관성 유지

자바 기반의 프레임워크

  • Spring(MVC), Spring(IoC,AOP), Hibernate or JPA, Ibatis or Mybatis

스프링 프레임워크

  • 평범한 POJO(Plain Old Java Object)를 사용하졈서도 EJB에서만 가능했던 많은 일을 가능하도록 지원한다
  • IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크

스프링 프레임워크의 특징

  1. 경량
    • 스프링은 크기 측면에서 가볍다.
    • 스프링 프레임워크는 여러 모듈로 구성되어있고, 각 모듈은 하나이상의 JAR파일로 구성되어있다. 그리고 이 몊개의 JAR파일만 있으면 개발과 실행이 가능하다
  2. IoC(제어의 역행, Inversion of Control)
    • 객체의 생성을 컨테이너가 대신처리한다
    • 객체끼리의 의존관계도 컨테이너가 처리한다
    • 따라서 -> 객체의 의존관계가 소스에 명시 되지 않으므로 결합도가 떨어져서 유지보수에 유리하다
  3. AOP(관점지향 프로그래밍, Aspect Oriented Programming)
    • 핵심 비지니스 로직과 , 각 비즈니스 메소드마다 반복해서 등장하는 공통로직을 분리하므로서 응집도가 높게 개발할 수 있도록 지원한다
  4. 컨테이너
    • 객체의 생성과 관리를 담당한다
    • 객체운용에 필요한 다양한 기능을 제공한다
    • 스프링도 일종의 컨테이너이다

Reference

  • 스프링 퀵 스타트-채규태 지음