Spring 기초 : Java의 역사

커비·2024년 12월 1일
0

Spring

목록 보기
4/6

Servlet의 등장(1997)

Java를 사용합 웹 개발의 시초로 서버에서 동적으로 콘텐츠를 생성하기 위해 사용되었고 클라이언트의 요청을 받고 그에 대한 응답을 생성하는 기본적인 구조를 제공했다

Servlet의 단점

코드의 복잡성이 증가하고 유지보수가 어려워졌음


JSP(Java Server Pages) 도입(1999)

JSP는 HTML 내에 Java 코드를 삽입할 수 있는 기술로 웹페이지를 더 쉽게 동적으로 생성할 수 있도록 도와주었음

JSP의 단점

JSP 내에 비즈니스 로직을 분리할 수 없음


Servlet, JSP 기반의 MVC 패턴 도입

  • MVC 패턴이 도입되면서 UI, 비즈니스로직, 데이터를 분리하여 개발하는 방식이 등장함
  • Servlet은 주로 컨트롤러(비즈니스 로직)으로 사용되었고 JSP는 뷰(UI)를 담당하게 되었음

MVC패턴의 장점

웹 애플리케이션의 유지보수성과 확장성을 크게 향상시킴

MVC패턴의 단점

개발자가 중복적으로 설정해줘야 하는 부분들이 다수 발생함


MVC 프레임워크의 등장과 발전(2000~2010)

  • Struts, Spring 등의 MVC 프레임워크가 등장하며 웹 애플리케이션 개발이 더욱 구조화되고 효율적으로 변했다.
  • 그 중 Spring MVC는 단순하면서도 강력한 기능을 제공하여 Java 웹 개발의 표준으로 자리 잡게 되었다.
  • 중복적으로 설정해야하는 부분들을 프레임워크로 자동화했다

MVC패턴의 단점

  • 여전히 애플리케이션 개발 관련 설정이 복잡했다.

Annotation 기반의 Spring MVC(2007~현재)

Annotation을 통해 애플리케이션 설정의 복잡함을 줄여주었다

Annotation 기반의 Spring MVC 장점

더 직관적이고 간결한 방식으로 웹 애플리케이션을 개발할 수 있게 되었다


Spring Boot의 등장(2014~현재)

Spring 프레임워크를 보다 쉽게 사용하도록 만든 도구로 설정과 복잡한 초기 설정 작업을 자동하 함

Spring Boot 장점

개발자들이 빠르게 애플리케이션을 개발할 수 있도록 도와줌


최신기술 동향

Web Servlet

Spring MVC
- 안정적이고 동기식 프로그래밍 모델을 기반으로 한 웹 애플리케이션 개발에 널리 사용됨

Web Reactive

Spring WebFlux
- 비동기 및 넌블로킹 모델을 기반으로 한 웹 프레임워크로 높은 동시성을 요구하는애플리케이션에서 효율적인 성능을 제공한다. 함수형 프로그래밍 스타일을 지원하며 서블릿 기술 대신 Netty 등의 비동기 서버를 사용한다.
- 서블릿 기술을 사용하지 않으며 실시간 데이터를 처리하거나 높은 동시성을 요구하는 애플리케이션에 적합하다
- RDBMS 지원 부족과 높은 기술적 난이도 등으로 인해 아직은 MVC 모델이 많은 실무에서 더 많이 사용되고 있다.

    
profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글