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

📝 서블릿

  • 서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행한다
  • 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다

📝 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

댓글

Designed by JB FACTORY