# Framework란?
(1) 프레임워크(Framework) 정의
- 사전적 의미로는 '어떤 것을 구성하는 구조 또는 뼈대'이나, 소프트웨어적 의미로는 '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품'을 의미한다.
(2) 프레임워크 장점
- 일정한 기준에 따라 개발이 이루어지믈 개발 생산성과 품질이 보장된 애플리케이션을 개발할 수 있다.
- 개발 후 유지보수 및 기능의 확장성에서 고품질을 보장한다.
# 스프링 프레임워크 (Spring Framework)
(1) 스프링 프레임워크(Spring Framework)
- 스프링 프레임워크는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크 이다.
- EJB(Enterprise Java Beans, 엔터프라이즈 자바 빈즈)보다 가벼운 경량 프레임워크, 경량 컨테이너의 기능을 수행한다.
- 컨테이너(Container)란?
- 톰캣은 서블릿 컨테이너라고 부르는데, 그 이유는 톰캣은 서블릿의 생성, 초기화, 서비스, 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리하기 때문
- 스프링은 애플리케이션에서 사용되는 여러가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접관리한다.
(2) 스프링의 특징
- EJB보다 가볍고, 배우기 쉬우며 경량 컨테이너의 기능을 수행
- 제어 역행(IoC, Inversion of Control) 기술
- 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법
- 의존성 주입(DI, Dependency Injection) 기능
- 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법
- JSP에서는 프로그래밍에서 의존성 부여, 스프링에서는 선언만 하고, xml에서 태그를 통해 의존성 부여
- 관점 지향(AOP, Aspect-Oriented Programming) 기능
- 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법
- ex) DAO에서 주로직과 부수 로직으로 나누는것, 트리거
- POJO 방식
- POJO(Plaim Old Java Object)
- 영속성과 관련된 다양한 서비스 지원, 많은 라이브러리와 연동 기능
(3) 스프링 프레임워크의 주요 기능
스프링 기능 | 설명 |
Core | 다른 기능과 설정을 분리하기 위한 IoC 기능 제공 |
Context | 스프링의 기본 기능으로써 애플리케이션의 각 기능을 하는 빈(Bean)에 대한 접근 방법 제공 |
DAO | JDBC 기능을 좀 더 편리하게 할 수 있도록 함. |
ORM | 하이버네이트나 마이바티스 같은 영속성 관련 프레임 워크와 연동된 기능 제공 |
AOP | 관점 지향 기능을 제공(주로직과 보조로직 분리) |
Web | 웹 애플리케이션 개발에 필요한 기능 제공 |
WebMVC | 스프링에서 MVC 구현에 관련된 기능 제공 |
(4) 스프링 프레임워크 환경 설정하기
스프링 3.0 라이브러리 파일을 복사하여 /WEB-INF/lib 폴더에 붙여 넣습니다.
References
- 자바 웹을 다루는 기술
'Web > Spring' 카테고리의 다른 글
[ Spring ] ⑥ 스프링 애너테이션 기능 (0) | 2019.08.12 |
---|---|
[ Spring ] ⑤ 스프링 JDBC 기능 (0) | 2019.08.02 |
[ Spring ] ④ 스프링 MVC 기능 (0) | 2019.08.01 |
[ Spring ] ③ AOP (0) | 2019.08.01 |
[ Spring ] ② DI와 IoC (0) | 2019.08.01 |