Spring, Spring Framework란
프레임워크
- 개발에서 기본이 되는 뼈대나 틀을 제공해준다
- 프레임워크 : 애플리케이션의 기본 아키텍쳐제공
- 개발자 : 그 뼈대에 살을 붙이는 작업
프레임워크의 장점
- 빠른 구현시간
- 쉬운 관리
- 개발자들의 역량 획일화
- 검증된 아키켁처의 재사용과 일관성 유지
자바 기반의 프레임워크
- Spring(MVC), Spring(IoC,AOP), Hibernate or JPA, Ibatis or Mybatis
스프링 프레임워크
- 평범한 POJO(Plain Old Java Object)를 사용하졈서도 EJB에서만 가능했던 많은 일을 가능하도록 지원한다
- IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크
스프링 프레임워크의 특징
- 경량
- 스프링은 크기 측면에서 가볍다.
- 스프링 프레임워크는 여러 모듈로 구성되어있고, 각 모듈은 하나이상의 JAR파일로 구성되어있다. 그리고 이 몊개의 JAR파일만 있으면 개발과 실행이 가능하다
- IoC(제어의 역행, Inversion of Control)
- 객체의 생성을 컨테이너가 대신처리한다
- 객체끼리의 의존관계도 컨테이너가 처리한다
- 따라서 -> 객체의 의존관계가 소스에 명시 되지 않으므로 결합도가 떨어져서 유지보수에 유리하다
- AOP(관점지향 프로그래밍, Aspect Oriented Programming)
- 핵심 비지니스 로직과 , 각 비즈니스 메소드마다 반복해서 등장하는 공통로직을 분리하므로서 응집도가 높게
개발할 수 있도록 지원한다
- 컨테이너
- 객체의 생성과 관리를 담당한다
- 객체운용에 필요한 다양한 기능을 제공한다
- 스프링도 일종의 컨테이너이다
Reference