Web/Spring

[Spring] Ch01. Spring 시작하기

OptimizerStart 2025. 5. 25. 22:07

 

Spring Framework 역사

Servlet ⇒ JSP ⇒ Spring ⇒ Spring Boot

 

applet 작은 Application ( 1995)

  • 브라우저에서 자동으로 작은 프로그램을 다운 받아 브라우저에서 프로그램을 실행하는 것
  • let 작다
  • Flash 탄생으로 지지부진

EJB (1999) Enterprise

  • CGI 멀티 스레드 불가. 요청이 올 때마다 프로세스 생성. 사용자 요청 처리 어려움

→ Java Servlet 멀티 스레드 지원

  • Servlet가 JSP로 발전 ( 같다)
  • 대기업은 사용자가 많음. EJB 복잡

Spring (2004)

  • 웹 폭발적 성장 시기 → 웹사이트 수가 증가 → 유지 보수 문제 → Framework 탄생
  • Framework 장점
    1. 유지보수
    2. 생산성 높음

Spring Boot (2014)

  • Spring 경량화, 설정 간편
  • 2020 - Spring 5.3 , Spring Boot 2.5
  • Oracle JDK vs. Open JDK
  • SUN 회사 Orcacle이 매수 - Java, MySQL,

Oracle jdk

  • 공식 jdk

Open JDK - 오픈 소스로 만들어진 JDK

  • IBM, RedHat, Amazon
  • Oracle이 11버전부터 오픈소스로 JDK 품. 차이가 없어짐

버전 접미사

GA General Availability

  • 일반 대중에게 공개될 정도로 릴리즈 됨.

통합개발 환경

  • 과거에는 컴파일러, 디버거, 인터프리터 분리되었는데, 이를 합친것.
  • STS 이클립스 + Spring 플러그인
    • STS3 Spring FW, Spring Boot , STS4 Spring Boot만 개발 가능

IntelliJ무료 Spring 지원 X, Spring Boot 만 가능

 

Java Spec-3

  1. SE Standard Edition 일반
  2. EE Enterprise 서버용 (많은 사용자들 )
    • tomcat 이 JEE 일부만 구현 (Servlet, JSP, EL 등)
  3. ME Micro 소형기기 ex. atm, 핸드폰

VCS Version Control System

소스(파일)의 버전 관리

  1. SVN 무료. subversion 무료
    • 단순
  2. Git 무료 복잡. 강력

JAVA_HOME

  • 톰캣이 jdk가 어디에 설치되어있는지 확인하는 용

프로젝트 종류

  • Spring Starter Project Spring Boot Project
  • Spring Legacy Project Spring Project

Cloud Computing

  • Cloud 인터넷.
  • 서버 여러 대를 클라우드 서비스를 이용해 자원을 마음 대로 사용
  • 하드웨어 추상화 하드웨어에 직접 접근할 필요 없이, 서비스에 요청하면 자원 할당 받아 작업 처리 가능

추상화 = 구체화 반대

장점

  • 관리 용이
  • 확장성

EC2 웹 호스팅

  • 가상 컴퓨터(인스턴스) 만들고, 그 안에 운영체제 및 톰캣 설치

S3 Simple Storage Service

  • 확장성 필요한 경우 공간을 더 가져다 사용 가능
  • 내구성 데이터 깨진 경우 복구

RDS Relational DB

  • 모니터링
  • 백업

cf. on - Premise EC2에 DB 설치하면 직접 모니터링과 백업을 해줘야함.

  • 서버를 직접 운영하는 방식

Serverless 서버 작업을 서버 내부가 아닌 클라우드 서비스로 처리

  • 서버가 없다 x
  • ex. RDS

CDN 이미지 or 라이브러리 같은 정적 리소스를 빨리 제공해주는 서비스