728x90
728x90

이번에는 스프링 개요 및 환경 구축에 대해 알아보겠습니다.


 

프레임워크(Framework) 정의

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

 

프레임워크(Framework) 장점

1. 일정한 기준에 따라 개발이 이루어지므로 개발 생산성과 품질이 보장된 애플리케이션을 개발할 수 있음
2. 개발 후 유지보수 및 기능의 확장성에서도 고품질 보장
* 소형 프로젝트는 jsp모델1을 쓰나 형태가 커지면 모델 뷰 컨트롤러를 분리하는 게 맞다.

 


 

스프링 프레임워크 정의

1. 스프링 프레임워크(이하 스프링)는 자바 웹 애플리케이션 개발을 위한 오픈소스 프레임워크
2. EJB(Enterprise Java Bean, 엔터프라이즈 자바 빈즈)보다 경량 프레임워크(lightWeight Framework)
EJB는 서버클라이언트를 조절하기에 기능이 많아 편리하다. 그러나 고성능 서버를 요구한다.
* 환경설정 이해가 중요하다
. jsp로 구축한 이전 과정에 비해 상대적으로 쉬운 편.

 

스프링 프레임워크 특징

1. 의존성 주입(DI: Dependency Injection)
 클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법

2. 제어 역행(IoC: Inversion of Control)
 개발자가 필요한 코드를 작성, 특정 구조에 포함
 서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법

3. 관점지향(AOP : Aspect Oriented Programming)
 관심사의 분리 (Seperation of Concerns)
 핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법
 보안, 트랜잭션, 로깅 처리 등이 대표적

4. POJO(plain old java object) 방식 프레임워크
 특정 규약과 환경에 종속되지 않는다.
 단일 책임 원칙을 지키는 클래스

 


 

컨테이너(Container) 정의

1. 톰캣은 서블릿 컨테이너라고 부르는데, 그 이유는 톰캣을 실행하면 톰캣은 서블릿의 생성, 초기화, 서비스 실행, 소멸에 관한 모든 권한을 가지고 서블릿을 관리

2. 스프링은 애플리케이션에서 사용되는 여러 가지 빈(클래스 객체)을 개발자가 아닌 스프링이 권한을 가지고 직접 관리

 


 

스프링의 특징

1. EJB보다 가볍고 배우기도 쉬우며 경량 컨테이너의 기능을 수행
2. 제어 역행(IoC, Inversion of Control) 기술을 이용해 애플리케이션 간의 느슨한 결합을 제어함.
3. 의존성 주입(DI, Dependency Injection) 기능을 지원함 : 클래스 내에서 다른 객체를 사용하는 것
4. 관점 지향(AOP, Aspect-Oriented Programming) 기능을 이용해 자원 관리 : 핵심 비핵심 기능을 분리해 처리
5. 영속성과 관련된 다양한 서비스를 지원함
6. 수많은 라이브러리와의 연동 기능을 지원

 

스프링의 주요 기능

728x90
728x90
블로그 이미지

coding-restaurant

코딩 맛집에 방문해주셔서 감사합니다.

,

v