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 상태 정보 |