Spring

Spring boot 개요

slow333 2023. 1. 20. 18:03
  • 스프링 부트는 단독 실행 할수 있고, 상용화 수준의 실행 가능한 스프링 기반 애플리케이션을 쉽게 생성
  • java -jar command OR 전통적인 war로 배포 가능한 자바 애플리케이션 생성에 스프링 부트를 사용 가능
  • 내장된 Tomcat, Jetty, Undertow를 이용해 war 배포 없이 웹 애플리케이션을 실행 가능
    ==>  기존에 web app을 위해 tomcat에 설정하던 것을 자동으로 해줌
  • 많이 사용하는 라이브러리를 모아 놓은 start POM 파일을 제공하여 쉽게 라이브러리를 관리

@SpringBootApplication == @Configuration + @EnableAutoConfiguration + @ComponentsScan

 

Spring boot Starter 종류

Spring boot starter 종류 Automatic configuration Spring boot Actuator
- Web MVC, JDBC, ORM 등 모듈
- starter에 추가하면 라이브러리가 추가됨
(ex) RESTfull Service 발생을 목적으로 Spring Web MVC를 사용하기 위해 spring-boot-starter-web 종속성을 추가하면 됨
- starter는 종속성의 개수를 줄여줄 뿐만 아니라 빌드하고자 하는 특별한 기능을 추가
-  application 기능에 대한 자동설정
-  Auto-configuration은 classpath를 이용
예) JPA Starter의 종속성을 추가하면 관련 설정을 자동으로 추가
먼저 classpath에서 설정 정보를 찾고 없으면 application 설정정보에서 찾음
- spring application을 모니터링하기 위한 production 수준의 기능을 제공
- 이를 활용해서 HTTP endpoint나 JMX로 모니터링 가능
- Spring-boot-starter-web은 아래 종속성을 자동으로 추가
spring-web-*.jar
spring-webmvc-*.jar
tomcat-*.jar
jacson-databind-*.jar
- depencency를 추가해야 스프링 부트에서 자동 설정 가능
- dependency management tool이 필요한 종속성을 제시
- spring boot parent(상속)과 starter는 더 쉽게 설정하도록 지원
- Maven, Gradle, Ant/Ivy 지원
- 애플리케이션 컨텍스트의 상세한 설정
- 자동으로 설정된 설정 정보
- 모든 환경변수, 시스템 속성, 설정 속성, command-line arguments
- 메모리 사용량, GC, Web request, data source 사용량에 대한 다양한 metric 정보
- 최근 처리된 HTTP 요청 추적
- Thread 상태 정보