찌니의 프로그래밍 삼매경

[Spring Boot] Spring Boot란 본문

Spring

[Spring Boot] Spring Boot란

zzI니☆ 2022. 10. 10. 13:36
728x90

Spring Framework는 EJB의 복잡성에 대한 대안으로 개발.현재까지도 범용적으로 사용되고있는 프레임워크.

시간이 지나면서 Spring Framework도 복잡한 설정이 필요하게 되었고 COC(Convention Over Configuration)개념을 탑재한 모던 프레임워크가 등장.

Spring 진영에서도 이러한 모던 프레임워크들의 장점을 받아들이고, MSA 환경에 최적화된 프로젝트를 개발했는데 이것이 바로 Spring Boot


Spring Boot 특징

⚡ Auto Configuration

특정 jar가 class path 안에 있을 경우 해당 설정을 자동화 가능

Spring MVC jar가 class path 안에 있으면 Dispatcher Servlet 을 자동으로 구성해준다.

또한 기존에는 여러개의 어노테이션으로 구성하던 것들을 @SpringBootApplication 하나로 대체할 수 있다.

@SpringBootApplication
@EnableAutoConfiguration + @ComponentScan + @Configuration

 Spring Boot Starter Projects

Spring Boot는 자주 사용하는 의존성을 묶어서 패키지화해준다.

 

 Embedded Server Integration

Embedded Server로 독립으로 실행할 수 있는 웹 서비스를 구성 가능하다.
(Default는 Tomcat 이지만 변경 가능)

이는 웹 서비스를 구성하고 배포하는 작업을 최소화 할 수 있고
특히 인스턴스가 계속해서 변경되는 클라우드/MSA환경에 적합하다고 볼 수 있다.

 

 Actuator

Actuator는 어플레이션 자체만으로 지표를 확인하기 위해 만들어진 것이다.

스프링부트를 배포하는 것 만으로도 운영중인 어플리케이션의 health, metrics 등을 확인할 수 있고,
REST API로도 확인 가능하기 때문에 시각화 툴과도 연동 가능하다.

728x90
Comments