본문 바로가기
⚙️Backend/Spring

[Spring] Spring 이란

by Bㅐ추 2020. 5. 30.
728x90
반응형

1. 스프링 프레임워크 시작하기

앞서 우리는 모델2 구조로 웹 애플리케이션을 구현해보았다.

모델 2 구조

모델 2 기반으로 할 경우 유지관리가 모델 1 방식보다 쉽다. 하지만, 새로운 애플리케이션을 개발할 때마다 일일이 처음부터 다시 개발해야 한다는 단점이 존재한다. 모든 웹 애플리케이션에서 필요한 공통기능들을 각각 처음부터 다시 개발해야 한다는 것은 비효율 적이다.

 

이보다 더 좋은 방법은 애플리케이션 개발시 일반적인 웹 애플리케이션에서 많이 사용하는 기능은 미리 만들어서 제공하고, 그 외에 필요한 부분만 추가 및 수정하는 것 이다. 

 

애플리케이션 규모가 커질수록 각 기능을 개발자가 따로 개발하는 것 보다는 표준화된 방법으로 개발하는 것이 유리하다. 따라서 지금은 대부분의 웹 애플리케이션을 스프링이나 스트러츠 같은 프레임워크 환경에서 개발한다.

 

2. 프레임워크?

프레임워크의 사전적의 의미는 '어떤 것을 구성하는 구조 또는 뼈대' 이다.

소프트웨어적 의미로는 '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품' 정도로 해석 가능하다.

즉, 어느정도 완성된 상태로 제공하는 기능인 셈이다.

 

예를들어보자.

우리는 현실에서 컴퓨터를 사용하다가 비디오 카드가 고장나면 어떻게 하는가? 비디오 카드를 사서 교체하기만 하면 된다. 이때 비디오카드는 미리 만들어진 상태로 제공된다. 이처럼 프레임워크도 애플리케이션 개발 시 자주 사용하는 기능을 클래스나 인터페이스 등으로 미리 어느정도 만들어서 제공하면 개발자가 자신의 상황에 맞게 추가 및 변형해서 이를 사용하는 것이다.

 

3. 스프링 프레임워크

스프링 프레임워크는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크 이다.

스프링은 경량 컨테이너라고도 부른다.

 

4. 특징
1. IoC(Inversion of Control)
2. DI(Dependency Injection)
3. AOP(Aspect-Oriented Programming)

 

 

출처: 자바 웹을 다루는 기술 / 길벗

728x90
반응형