본문 바로가기
개발일기/SpringFramework

[Spring] Spring Framework, 스프링 프레임 워크란?

by dori625 2020. 2. 6.

JAVA

Spring Framework 

- 1 -

 

 


 

스프링 프레임워크(Spring Framework)란?

 

스프링 프레임워크는 자바 진영에서 주로 웹 서버 어플리케이션을 만들기 위해 사용하는 프레임워크입니다.

스프링 프레임워크를 설명하기에 앞서 먼저 프레임워크가 무엇인지 알아보도록 하겠습니다.


프레임워크(Framework)란

"소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것"

프레임워크는 구체적이고 확장가능한 기반코드를 가지고 애플리케이션의 틀과 구조를 결정할 뿐만 아니라 개발자의 코드를 제어한다. 

구조에 대한 일종의 가이드라인이라고 생각하자. (이미 규칙이 정해진)

  • 확장 가능한 기반 코드 : 설계의 기반이 되는 부분을 기술 

  • 라이브러리 : 개발자가 코드를 확장하는 데 필요한 라이브러리

 를 통합제공하는 형태가 프레임워크라고 할 수 있다.


Spring Framework의 구조?

 

Spring Core

Spring Core는 Spring Container을 의미합니다. core라는 말 그대로 Container는 Spring Framework의 핵심이며 그중 핵심은 Bean Factory Container입니다.  Bean Factory는 IOC패턴을 적용하여 객체 구성 부터 의존성 처리까지 모든 일을 처리하는 역할을 하고 있습니다

Spring Context

Spring context는 Spring Framework의 context 정보를 제공하는 설정 파일입니다. Spring Context에는 JNDI, EJB, Validation, Scheduiling, Internaliztaion 등 엔터프라이즈 서비스들을 포함하고 있습니다.

Spring AOP

Spring AOP module은 Spring Framework에서 관점지향 프로그래밍을 할 수 있고 AOP를 적용 할수 있게 도와주는 Module입니다.

Spring DAO

DAO란 Data Access Object의 약자로 Database Data에 접근하는 객체입니다. Spring JDBC DAO는 추상 레이어를 지원함으로써 코딩이나 예외처리 하는 부분을 간편화 시켜 일관된 방법으로 코드를 짤 수 있게 도와줍니다.

Spring ORM

ORM이란 Object relational mapping의 약자로 간단하게 객체와의 관계 설정을 하는 것입니다. Spring에서는 Ibatis, Hibernate, JDO 등 인기있는 객체 관계형 도구(OR도구)를 사용 할 수 있도록 지원합니다.

Spring Web

Spirng에서 Web context module은 Application module에 내장되어 있고 Web기반의 응용프로그램에 대한 Context를 제공하여 일반적인 Web Application 개발에 필요한 기본적인 기능을 지원하고 있습니다.

Spring MVC

Spring에서는 MVC에서는 Model2 구조로 Apllication을 만들 수 있도록 지원합니다. MVC (Model-View-Controller) 프레임 워크는 웹 응용 프로그램을 작성하기위한 완전한 기능을 갖춘 MVC를 구현합니다.


Spring을 시작하기 위해 필요한 준비물

 

이클립스(Eclipse), STS(Spring Tool Suite), 톰캣(Tomcat)

3가지만 있으면 된다. 이클립스는 자바 프로그래밍을 하기 위해 필요한 개발 프로그램이며

STS는 스프링을 사용하기 위해 필요한 환경이다. 이클립스 플러그인 마켓에서 STS를 다운로드 받을 수 있다.

톰캣은 자바를 웹에서 동작할 수 있게 만들어주는 웹 어플리케이션 서버이다.

다음 시간에는 스프링을 위한 셋팅을 시작해보자

 

'개발일기 > SpringFramework' 카테고리의 다른 글

[Spring] Eclipse에 Spring(STS) 설치  (0) 2020.02.09
[Spring] Eclipse 설치하기  (0) 2020.02.09
[Spring] JAVA 설치하기  (0) 2020.02.06