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 |