복붙노트

[SPRING] spring-boot-starter-tomcat 대 spring-boot-starter-web

SPRING

spring-boot-starter-tomcat 대 spring-boot-starter-web

저는 스프링 부트를 배우려고하는데 두 가지 옵션이 있다는 것을 알았습니다.

# 1은 Tomcat을 지원하기 때문에 왜 # 2를 사용하고 싶습니까?

차이점은 무엇입니까?

감사

해결법

  1. ==============================

    1.spring-boot-starter-web은 spring-boot-starter-tomcat을 포함합니다. spring-boot-starter-tomcat은 스프링 mvc가 필요하지 않은 경우 자체적으로 사용될 수 있습니다 (spring-boot-starter-web에 포함됨).

    spring-boot-starter-web은 spring-boot-starter-tomcat을 포함합니다. spring-boot-starter-tomcat은 스프링 mvc가 필요하지 않은 경우 자체적으로 사용될 수 있습니다 (spring-boot-starter-web에 포함됨).

    다음은 spring-boot-starter-web의 종속성 계층 구조입니다.

    spring-boot-starter-web은 spring-boot-starter-tomcat을 포함한 Spring 웹 의존성을 포함합니다 :

    봄 부팅 시동기 잭슨 봄의 핵 봄 - mvc 봄 - 부팅 - 스타터 - 바람둥이

    spring-boot-starter-tomcat에는 포함 된 Tomcat 서버와 관련된 모든 것이 들어 있습니다.

    핵심 엘자 벌채 반출 웹 소켓

    임베디드 톰캣 서버없이 spring mvc를 사용하고 싶다면 어떻게해야할까요?

    종속성에서 제외하십시오.

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    
  2. ==============================

    2.음 간단한 대답은 모든 웹 애플리케이션이 SpringMVC 애플리케이션이 아니라는 것입니다. 예를 들어 JaxRS를 대신 사용하고자하는 경우 RestTemplate을 사용하는 클라이언트 응용 프로그램이있을 수 있으며 상호 작용 방식을 좋아한다고해서 스프링 부팅이나 임베디드 바람둥이를 사용할 수있는 것은 아닙니다.

    음 간단한 대답은 모든 웹 애플리케이션이 SpringMVC 애플리케이션이 아니라는 것입니다. 예를 들어 JaxRS를 대신 사용하고자하는 경우 RestTemplate을 사용하는 클라이언트 응용 프로그램이있을 수 있으며 상호 작용 방식을 좋아한다고해서 스프링 부팅이나 임베디드 바람둥이를 사용할 수있는 것은 아닙니다.

    다음은 spring-boot-starter-tomcat을 사용하지만 spring-boot-starter-web는 사용하지 않는 예제 응용 프로그램입니다.

    spring-boot-starter-tomcat을 사용한 봄 부팅의 간단한 Jersey 응용 프로그램

    Tomcat이 스프링 부트의 임베디드 서블릿 컨테이너를위한 유일한 옵션은 아니라는 것을 기억하는 것도 중요합니다. 부두를 사용하기 시작하는 것도 쉽습니다. 그리고 spring-boot-starter-tomcat을 사용하면 모든 것을 하나의 모듈로 제외하는 것이 가능합니다. 반면에 모두 spring-web의 일부라면 Tomcat 라이브러리를 제외하고 Spring-boot-startter-jersey를 가져 오는 것이 더 많은 작업이 될 것입니다

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
    

    나는이 다른 질문에서이 코드를 여기에 복사했다.

  3. from https://stackoverflow.com/questions/33419823/spring-boot-starter-tomcat-vs-spring-boot-starter-web by cc-by-sa and MIT license