Tomcat 은 WAS 의 한 종류이다
* WAS ( Web Application Server ) : 정적리소스 및 동적인 애플리케이션 관리 서버
Spring Boot 는 내장형 웹 서버를 가지고 있으므로 애플리케이션을 실행할 때 별도의 구성 없이도 내장된 서버를 사용하여 애플리케이션을 실행할 수 있다.
기본적으로 Tomcat, Jetty, Undertow 와 같은 내장형 서버를 제공하며 선택해서 사용할 수 있다.
Spring 은 내장형 웹 서버를 가지고 있을까 ??
Srping Framework 는 Spring MVC 를 사용하여 웹 애플리케이션을 구축할 수 있다.
Spring MVC 를 사용할 때, 일반적으로 외부 웹 서버(Tomcat, Jetty 등)를 사용하지만 ......
Spring Framewokr 자체에 내장된 웹 서버는 포함되어 있지 않다 !!!! ( 별도로 설정 필요)
톰캣이 내장된 위치 !!
External Libraries 폴더에서 autoconfigure 찾기
spring .factories 에 들어가서 ' ServletWebServer' 를 검색해보자
ServletWebServerFactoryAutoConfiguration 클래스로 ㄱㄱ
@Bean
@ConditionalOnClass(
name = {"org.apache.catalina.startup.Tomcat"}
)
public TomcatServletWebServerFactoryCustomizer tomcatServletWebServerFactoryCustomizer(ServerProperties serverProperties) {
return new TomcatServletWebServerFactoryCustomizer(serverProperties);
}
해당 메서드에서 톰캣을 사용하고 있다는 것을 보여준다.
### 회고
Spring Boot 를 사용하면서 Spring Framework 와 큰 차이점도 알지 못햇고 ,
그저 프로젝트가 굴러가니 사용하며 'Spring Boot 에는 Tomcat 이 내장되어 있다' 라고 글로만 알고 있었지
어디에 있는지, 그리고 내장되어 있지않으면 어떻게 사용해야하는지? WAS 의 개념? 등에 대해서는 궁금하지 않았다.
그저 취준용 플젝 만들기에 급급
여유가 조금 생기니 하나하나 알아가는 재미가 있다
[ 참고 자료 ]
내장된 Tomcat 서버외에 다른 서버로 변경하고 싶다면?
Spring Boot 가 아닌 Srping Framework 로 WAS 를 설정하고 싶다면???
1. Dynamic Web Project 에 MVC 패턴 적용
2. STS 로 Spring MVC 적용
'Spring' 카테고리의 다른 글
Spring boot - war 파일 기본 루트 (0) | 2023.12.07 |
---|---|
Spring | Spring Framework , Spring , Spring Boot 간단 정리 (0) | 2023.11.28 |
의존성 주입이란? + @Autowired , IoC (0) | 2023.11.02 |
@Autowired(required = false) 사용 목적 (0) | 2023.11.02 |
springframework 템플릿 엔진 - thymeleaf, mustache (0) | 2023.05.11 |