[Spring] 스프링 프레임워크(Spring Framework) 란?
- 📚 Spring/Spring 개념
- 2020. 4. 29. 12:05
📝 서블릿
- 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행한다
- 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다
📝 HttpServletRequest 역할
- HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편하다.
- 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다.
- 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다
- HttpServletRequest, HttpServletResponse를 사용할 때 가장 중요한 점은 이 객체들이 HTTP 요청 메시지, 응답 메시지를 편리하게 사용하도록 도와주는 객체라는 점이다.
📝 스프링이란?
- 스프링은 자바 언어 기반의 프레임워크
- 자바 언어의 가장 큰 특징 - 객체 지향 언어
- 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크
- 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크
📝 Spring Framework 란?
자바 진영에서 주로 웹 서버 어플리케이션을 만들기 위해 사용하는 프레임워크 이다.
📝 프레임워크(Framework) 란?
개발자들이 코드 품질 및 개발 속도를 상향 평준화하기 위해 고안된 규약이자 표준 개발 방법을 제공해주는 어플리케이션이다.
각 개발자들마다 급(?)의 차이가 많은데 이 부분의 간극을 규약을 지키면서 프로그램을 개발하는 것으로 어느정도 메꾸기 위해서 등장한 것이 프레임워크이다.
즉, 스프링 프레임워크는 자바 언어를 표준을 지키면서 웹 개발을 하게 지원하는 어플리케이션이라고 할 수 있다.
📝 스프링에서 지원하는 개발 방법론
- DI(Dependency Injection) : 의존성 주입
- 객체에 속성 값을 주입하는 방식으로 모듈간의 결합도를 낮추어 유연한 코드를 작성하게 해주는 역할을 한다
- AOP(Aspect-Oriented Programming) : 관심지향 프로그래밍
- 프로그램 로직 중 반복되는 코드를 횡(=가로)으로 분리하여 중복된 코드를 줄여주고 핵심 로직에 대한 가독성을 높이는 역할을 한다.
스프링은 JVM위에서 가동되는 자바 언어와 풍부한 라이브러리 견고함 등 여러 장점이 있으며 우리나라에서 가장 많이 사용되는 프레임워크 중 하나이기 때문에 좋은 프레임워크 이다.
'📚 Spring > Spring 개념' 카테고리의 다른 글
[Spring] 스프링 PSA (0) | 2020.08.23 |
---|---|
[Spring] 스프링 AOP 개념 및 적용 방법 (0) | 2020.08.21 |
[Spring] 의존성 주입(Dependency Injection) (0) | 2020.08.21 |
[Spring] Bean (0) | 2020.08.20 |
스프링 IoC Container와 Bean (0) | 2020.07.29 |