본문 바로가기

Web/Spring

[ Spring ] ① Spring Framework 시작하기

# Framework란?

(1) 프레임워크(Framework) 정의

  • 사전적 의미로는 '어떤 것을 구성하는 구조 또는 뼈대'이나, 소프트웨어적 의미로는 '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품'을 의미한다.

 

(2) 프레임워크 장점

  1. 일정한 기준에 따라 개발이 이루어지믈 개발 생산성과 품질이 보장된 애플리케이션을 개발할 수 있다.
  2. 개발 후 유지보수 및 기능의 확장성에서 고품질을 보장한다.

 

# 스프링 프레임워크 (Spring Framework)

(1) 스프링 프레임워크(Spring Framework)

  • 스프링 프레임워크는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크 이다.
  • EJB(Enterprise Java Beans, 엔터프라이즈 자바 빈즈)보다 가벼운 경량 프레임워크, 경량 컨테이너의 기능을 수행한다.

 

  • 컨테이너(Container)란?
    • 톰캣은 서블릿 컨테이너라고 부르는데, 그 이유는 톰캣은 서블릿의 생성, 초기화, 서비스, 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리하기 때문
    • 스프링은 애플리케이션에서 사용되는 여러가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접관리한다.

 

(2) 스프링의 특징

[ 자바 웹을 다루는 기술 ] 스프링 프레임워크의 특징

  1. EJB보다 가볍고, 배우기 쉬우며 경량 컨테이너의 기능을 수행
  2. 제어 역행(IoC, Inversion of Control) 기술
    • 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법
  3. 의존성 주입(DI, Dependency Injection) 기능
    • 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법
    • JSP에서는 프로그래밍에서 의존성 부여, 스프링에서는 선언만 하고, xml에서 태그를 통해 의존성 부여
  4. 관점 지향(AOP, Aspect-Oriented Programming) 기능
    • 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법
    • ex) DAO에서 주로직과 부수 로직으로 나누는것, 트리거
  5. POJO 방식
    • POJO(Plaim Old Java Object)
  6. 영속성과 관련된 다양한 서비스 지원, 많은 라이브러리와 연동 기능

 

(3) 스프링 프레임워크의 주요 기능

[ 자바 웹을 다루는 기술 ] 스프링 프레임워크의 구조

스프링 기능 설명
Core 다른 기능과 설정을 분리하기 위한 IoC 기능 제공
Context 스프링의 기본 기능으로써 애플리케이션의 각 기능을 하는 빈(Bean)에 대한 접근 방법 제공
DAO JDBC 기능을 좀 더 편리하게 할 수 있도록 함.
ORM 하이버네이트나 마이바티스 같은 영속성 관련 프레임 워크와 연동된 기능 제공
AOP 관점 지향 기능을 제공(주로직과 보조로직 분리)
Web 웹 애플리케이션 개발에 필요한 기능 제공
WebMVC 스프링에서 MVC 구현에 관련된 기능 제공

 

(4) 스프링 프레임워크 환경 설정하기

스프링 3.0 라이브러리 파일을 복사하여 /WEB-INF/lib 폴더에 붙여 넣습니다.

spring module.zip
5.16MB

 


References

  1. 자바 웹을 다루는 기술
  2.  

 

'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