BACKEND/JAVA & SPRING

자바, JSP, 스프링, 스프링부트란?

이-프 2023. 11. 9. 16:10

최근 자주 언급되는 언어부터 프레임워크까지 개념 정리를 하고 넘어가고자 한다.

이를 주로 사용하는 백엔드 개발자가 되기 위해선 꼼꼼히 정확하게 이해해보자 🌱

Java

public class JavaProject {
	// Java를 처음 접하면서 보게되는 코드
	public static void main(String[] args) {
		System.out.println("Hello World");
  }
}
  • 객체지향적 프로그래밍 언어
  • 스프링의 근간이 되는 언어(한글)
  • 스프링은 자바 뿐 아니라 코틀린, 그루비로도 사용할 수 있으나 여기서는 자바로 진행
  • 스프링 자체도 거의 대부분 자바로 만들어져 있음

JSP (Java Server Page)

  • 자바로 프론트엔드를 엮어서 사용하는 개념
  • 프론트와 백이 모두 JAVA를 사용해서 페이지를 만듬

    화면 + 자바 빈(객체)

Spring Framework

  • 자바를 사용한 오픈소스 프레임워크
  • 기업용 어플리케이션을 만드는데 대부분 사용

    ex ) 자바(한글)를 이용해서 어플리케이션(책)을 쓰기 위해 활용하는 프레임워크(여러 툴이 있는 템플릿)

  • 스프링 내에는 웹 개발에 필요한 모든 기술이 다 담겨있지만, 같은 기능을 하는 기술들은 스프링이 주관적으로 선택
자바, 서블릿, J2EE ——> 스프링 프레임워크

어려웠던 자바가 프레임워크를 통해 좀 더 간결해졌다.

라이브러리 : 특정한 한 상황에 맞춰서 그 상황에서만 활용되는 기능에 집중

프레임워크 : 하나의 어플리케이션을 통째로 담아낼 수 있는 큰 영역을 다룸

Framework vs Library : https://for-if.tistory.com/55

Spring boot

  • 스프링 부트를 다운 받으면 바로 실행할 수 있고, 필요한 어플리케이션만 만들면 되는 구조
  • 스프링 기반으로 자주 사용되는 설정으로 손쉽게 개발할 수 있게 해주는 상위 프레임워크

    ex ) 스프링(각종 도구가 있는 템플릿)보다 한층 더 편리한 프레임워크(ppt)

    ex ) 스프링이 ‘집’이라면, 스프링 부트는 스프링의 ‘지붕’과 같은 개념

⇒ 스프링부트 = 스프링 + 웹 서버 + 웹 어플리케이션 서버(톰캣)

∴ 스프링은 아파치 톰캣(웹서버+웹어플리케이션서버)를 따로 설치해야한다.

웹 서버 vs 웹 어플리케이션 서버
  • 웹 서버
    • 데이터를 제공하는 역할
    • 모든 사람에게 공통인 페이지를 볼 경우를 대응 (정적인 페이지)
  • 웹 어플리케이션 서버
    • 모두에게 각각 다른 페이지를 볼 경우를 대응 (동적인 페이지)
  • Apache (재단)

    “Tomcat” : 웹서버 + 웹 어플리케이션 서버가 모두 각각 들어있는 서버 제품

  • 웹 어플리케이션(톰캣 등) 서버 내장

    └ 스프링은 로컬에서 배포를 해서 톰캣을 띄우고 동작을 진행시켰는데, 부트는 자체적으로 톰캣을 내장하고 있음

  • 자동 설정, 설정 표준화

    └ 원한다면 모두 마음대로 설정할 수 있음


Uploaded by N2T

'BACKEND > JAVA & SPRING' 카테고리의 다른 글

@NotBlanck, @NotEmpty, @NotNull 차이점  (0) 2023.12.19
@Configuration이란 (w/ IoC, DI)  (0) 2023.11.09
프레임워크와 라이브러리의 차이점  (1) 2023.11.09
Filter & Interceptor  (0) 2023.11.09
Dispatcher Servlet이란?  (0) 2023.11.09