기존의 스프링 프레임워크는 필요한 모듈을 추가하다 보면 설정이 복잡해지는 문제
-> 해결을 위해 등장한 것이 스프링 부트
스프링 부트는 별도의 복잡한 설정을 하지 않아도 개발이 가능하게끔
스프링 프레임워크에서는 개발에 필요한 각 모듈의 의존성을 직접 설정해야 했다
반면 스프링 부트에서는 이 같은 불편함 해결
-> Spring-boot-starter
라는 의존성을 제공
이는 각 라이브러리의 기능과 관련해서 자주 사용되고 서로 호환되는 버전의 모듈 조합
을 제공
Spring-boot-starter-web : 스프링 MVC를 사용하는 RESTful 어플리케이션을 만들기 위한 의존성 (내장 : Tomcat)
Spring-boot-starter-test : 테스트용 라이브 러리 제공
Spring-boot-starter-jdbc : 커넥션 풀을 활용한 JDBC 기능 제공
Spring-boot-starter-security : 스프링 시큐리티 기능 제공
Spring-boot-starter-data-jpa : 하이버네이트를 활용한 JPA 기능 제공
Spring-boot-starter-cache : 스프링 프레임워크의 캐시 기능 제공
의존성 조합 충돌 문제가 없도록 spring-boot-starter-parent가 검증된 조합 제공
어플리케이션에 추가된 라이브러리를 실행하는데 필요한 환경설정을 알아서 찾아 준다
-> 즉 애플리케이션을 개발하는 데 필요한 의존성을 추가하면 프레임워크가 이를 자동으로 관리 해줌
이를 이해하기 위한 @SpringBootApplication
은 다음 페이지에서 이해하자!
각 웹 애플리케이션에는 내장 WAS 가 존재
톰캣 말고 다른 웹서버(Jetty, Undertow 등)도 사용 가능
개발이 끝나고 서비스를 운영하는 시기에는 해당 시스템이 사용하는 스레드, 메모리, 세션
등의 주요 요소들을 모니터링
해야 함
-> 이를 위해 스프링 부트 액추에이터
라는 자체 모니터링 도구 사용