programing

spring-boot-boot-boot-web과 spring-boot-boot-web의 비교

javamemo 2023. 3. 16. 21:05
반응형

spring-boot-boot-boot-web과 spring-boot-boot-web의 비교

스프링 부츠를 배우려고 하는데 두 가지 옵션이 있더군요.

  1. spring-boot-starter-web: 문서에 따르면 Tomcat 및 web-mvc를 포함한 풀 스택 웹 개발을 지원합니다.

  2. 용수철 부츠

#1은 Tomcat을 지원하는데 #2를 사용하는 이유는 무엇입니까?

어떤 차이가 있을까?

감사해요.

#1은 Tomcat을 지원하는데 #2를 사용하는 이유는 무엇입니까?

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에는 스프링 Web 의존관계가 포함되어 있습니다(포함).spring-boot-starter-tomcat):

spring-boot-starter
jackson
spring-core
spring-mvc
spring-boot-starter-tomcat

spring-boot-starter-tomcat에는 임베디드 Tomcat 서버와 관련된 모든 내용이 포함되어 있습니다.

core
el
logging
websocket

내장된 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>

간단한 답은 모든 웹 어플리케이션이 SpringMVC 어플리케이션은 아니라는 것입니다.예를 들어 JaxRS를 대신 사용하는 경우 RestTemplate를 사용하는 클라이언트애플리케이션이 있고 그 상호작용이 마음에 든다고 해서 스프링 부트나 임베디드 Tomcat을 사용할 수 없는 것은 아닙니다.

다음은 를 사용하는 어플리케이션의 예를 나타냅니다.spring-boot-starter-tomcat하지만 아니다spring-boot-starter-web

를 사용한 스프링 부츠에서의 심플한 저지 어플리케이션spring-boot-starter-tomcat

https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-jersey

또한 봄 부팅 시 임베디드 서블릿 컨테이너에 Tomcat만이 유일한 옵션은 아니라는 점도 기억해야 합니다.제트를 사용하기 시작하는 것도 간단합니다.그리고 가지고 있다spring-boot-starter-tomcat모두 spring-web의 일부일 뿐이라면 도입할 Tomcat 라이브러리를 제외하는 것이 더 나을 것입니다.spring-boot-starter-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>

여기 있는 다른 SO 질문에서 이 코드를 복사했습니다.

스프링 부트에서 Jetty를 설정하는 방법(간단하게)

언급URL : https://stackoverflow.com/questions/33419823/spring-boot-starter-tomcat-vs-spring-boot-starter-web

반응형