728x90
Spring Boot 의의
1. 의존성 관리
모든 의존성 신경쓰지 않고, 버전 충돌없이 잘 말아놓은 최상위 패키지 사용
2. 자동 설정
의존성 관리에서 꽤 많은 라이브러리들을 내포하게되는데, 이 모든 것에 대한 설정이 문제
- @SpringBootApplication: Spring Boot 에 필요한 모든것을 세팅 및 기본 설정
- @SpringBootConfiguration: @Configuration을 통해 추가 @Bean등록 가능
- @EnableAutoConfiguration: 사전 정의된 라이브러리들에 대한 기본 설정 값
- @ConponentScan: XML 아닌 @Controller 등 어노테이션 기반 Bean 수집 규칙 정의
Spring 과 Spring Boot의 차이
Spring
- WAR(Web Application Archive) 생성: Servlet Container에 배치하는 웹 애플리케이션 압축 포맷
- 외장 톰캣 필요: WAR 를 구동시킬 별도의 웹 컨테이너(WAS) = 외장 톰캣 의존성 불편
- Tomcat 서버를 미리 띄어 이미 구동중인 서버에 어플리케이션 (WAR)만 배포
- 극단적으로 단일(하나의) Tomcat 서버에 복수의 WAR 배포도 가능은 하다.
Spring Boot
- JAR(Java Archive) 생성: JRE(JVM) 로 바로 실행 가능한 자바 어플리케이션 압축 포맷
- 공식 Spring 문서(Executable Jar Format): JAR, WAR 모두 가능하긴 하나
- 내장 톰캣 정의: 언제 어디서나 같은 환경에서 스프링 부트 배포
- JRE(JVM)에다 그냥 자바 어플리케이션 실행하듯 Tomcat 구동과 동시에 어플리케이션 (JAR) 을 배포
- WAR와 달리 단일(하나의) Tomcat 서버에 하나의 어플리케이션만 구동할 수 있다.
728x90
'ASAC 웹 풀스택 > Spring Boot' 카테고리의 다른 글
Spring 구조(2) - 3-Layerd 아키텍쳐 패턴 (0) | 2024.10.08 |
---|---|
Spring 구조(1) - MVC 아키텍처 패턴, Front Controller (1) | 2024.10.08 |
Spring Bean 원리(1) - 싱글톤, IoC, Bean 등록/사용 (3) | 2024.10.08 |
Spring MVC 원리(3) - @Controller, MessageConverter (0) | 2024.10.08 |
Spring MVC 원리(2) - Tomcat + Spring 상세구조 (0) | 2024.10.07 |