Jin's Dev Story

[SpringBoot] Spring Boot 본문

Web & Android/SpringBoot

[SpringBoot] Spring Boot

woojin._. 2023. 8. 12. 13:32

SpringBoot

  • Spring 프레임워크의 서브 프로젝트
  • 스프링 프레임워크를 쉽게 사용할 수 있도록 도와주는 도구
  • Spring처럼 많은 설정이 필요하지 않다.

장점

  • 라이브러리 의존성 간단히 관리(Maven, Gradle)
  • Spring Boot가 라이브러리 인지해서 실행에 필요한 환경을 자동으로 설정
  • 라이브러리 버전 자동 관리
  • 테스트 환경
  • Tomcat 서버 내장 → main() 메소드 실행 시 서버 구동
  • 독립적으로 실행 가능한 JAR 파일로 패키징 가능

Gradle

  • Groovy 기반의 빌드 도구
  • Ant와 Maven의 단점을 보완
  • Java 문법과 유사하다.
  • Gradle 설치 없이도 Gradle Wrapper를 이용하여 빌드를 지원한다.
  • build.gradle : 빌드 구성 스크립트 → 의존성, 플러그인 설정 등 빌드에 대한 모든 기능을 정의한다.
  • task : 작업의 최소 단위
  • compile : 프로젝트 컴파일 과정에서 필요한 라이브러리
  • runtime : 프로젝트 실행 과정에서 필요한 라이브러리. ( compile 구성의 라이브러리 포함)
  • testCompile : 프로젝트의 테스트 컴파일 과정에서 필요한 라이브러리. (컴파일된 클래스들과 compile 구성의 라이브러리 포함)
  • testRuntime : 프로젝트의 테스트 실행 과정에서 필요한 라이브러리. (compile, runtime, testCompile 구성의 라이브러리 포함)

JPA

  • Java Persistent API
  • Hibernate를 비롯한 모든 ORM 프레임워크의 표준
  • Java 언어를 통해 데이터베이스와 같은 영속 계층을 처리하고자 하는 스펙

ORM

  • Object Relational Mapping
  • 객체지향 패러다임을 관계형 패러다임으로 매핑해주는 개념 (클래스를 테이블로)

Thymeleaf

  • View Template Engine
  • JSP처럼 서버에서 결과를 만들어서 브라우저로 전송한다.
  • JSP와 유사하게 ${ }을 별도의 처리 없이 이용할 수 있다.
  • Model에 담긴 객체를 화면에서 JS로 처리하기 편리하다.
  • 연산이나 포맷과 간련된 기능을 추가적인 개발 없이 지원한다.
  • 개발 도구를 이용할 때 .html 파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않는다.

 

Spring

  • 스프링은 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크
  • 자바 SE로 된 자바 객체 POJO를 자바 EE에 의존적이지 않게 연결해주는 역할을 함
  • 스프링의 특징으로는 크기와 부하 측면에서 경량 시킨 것과, IOC 기술로 애플리케이션의 느슨한 결합을 도모시킨 것

차이점

  • 스프링 부트는 스프링에서 사용하는 프로젝트를 간편하게 셋업할 수 있는 서브 프로젝트
  • 독립 컨테이너에서 동작할 수 있기 때문에 임베디드 톰캣이 자동으로 실행됨
  • 임베디드 컨테이너에서 애플리케이션을 실행시키기에는 다소 불안전해서 큰 프로젝트는 사용하지 않는 것이 좋음

'Web & Android > SpringBoot' 카테고리의 다른 글

[SpringBoot] OOP(Object Oriented Programming)  (0) 2023.08.12
[SpringBoot] IoC &DI  (0) 2023.08.12
[SpringBoot] Spring  (0) 2023.08.12
[SpringBoot] 라이브러리와 프레임워크  (0) 2023.08.12
[SpringBoot] Mock 테스트  (0) 2023.07.28