내장 웹 서버 이해

Crow·2021년 8월 2일
0
post-thumbnail

학습목표

  • springboot는 웹 서버인가
  • 웹 서버 관련 Springboot Auto Config

springboot는 서버가 아니다.

  • 증명
    • application.setWebApplicationType을 None으로 설정해도 application.run을 하면 Build가 정상적으로 되는 것을 볼 수 있다.
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication application = new SpringApplication(Application.class);
        application.setWebApplicationType(WebApplicationType.NONE);
        application.run(args);
    }
}

  • 톰캣 객체 생성
  • 포트 설정
  • 톰캣에 컨텍스트 추가
  • 서블릿 만들기
  • 톰캣에 서블릿 추가
  • 컨텍스트에 서블릿 맵핑
  • 톰캣 start & await

위 모든 과정을 보다 상세히 또 유연하게 설정하고 실행해 주는게 바로 springboot auto config.

웹 서버 관련 Springboot Auto Config

  • ServletWebServerFactoryAutoConfiguration
    : 서블릿 웹 서버를 생성해주는 auto config

    • TomcatServletWebServerFactoryCustomizer
      : 생성한 웹 서버를 커스터마이징 하고자 할 때
  • DispatcherServletAutoConfiguration
    : 서블릿 만들고 등록해준다.

ServletWebServerFactoryAutoConfiguration과 DispatcherServletAutoConfiguration은 둘의 하는 일이 어느정도 연관성이 있음에도 불구하고 각자 따로 분리되어 작업이 일어남을 알아두자.

profile
올빼미를 사냥한 까마귀에서 진화한 독수리

0개의 댓글

관련 채용 정보