programing

SpringBoot Servlet을 확장해야 하는 이유외부 Tomcat에 배포하는 동안 Initializer'

magicmemo 2023. 7. 20. 21:51
반응형

SpringBoot Servlet을 확장해야 하는 이유외부 Tomcat에 배포하는 동안 Initializer'

확장해야 하는 이유SpringBootServletInitializer을 운영하기 위하여SpringBoot외부에의 적용.tomcat?

연장하지 않은 경우SpringBootServletInitializer내장된 Tomcat에서 실행되는데 왜 확장이 필요한가요?SpringBootServletInitializer외부 Tomcat에 배포하는 동안?

이전 서블릿 컨테이너는 서블릿 3.0에서 사용된 서블릿 컨텍스트 이니셜라이저 부트스트랩 프로세스를 지원하지 않습니다.이러한 컨테이너에서 스프링 및 스프링 부트를 계속 사용할 수 있지만, 응용 프로그램에 web.xml을 추가하고 DispatcherServlet을 통해 응용 프로그램 컨텍스트를 로드하도록 구성해야 합니다.

배포 가능한 전쟁 파일을 만들려면 SpringBootServlet을 제공해야 합니다.Initializer 하위 클래스를 초기화하고 해당 구성 방법을 재정의합니다.이 기능은 Spring Framework의 Servlet 3.0 지원을 사용하며, 서블릿 컨테이너에 의해 시작될 때 응용프로그램을 구성할 수 있습니다.일반적으로 응용 프로그램의 기본 클래스를 업데이트하여 SpringBootServlet을 확장합니다.이니셜라이저.

@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

아래 링크를 참조할 수 있습니다.

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html

다음은 몇 가지 추가 정보입니다.

를 배포하려면Servlet기반 웹 애플리케이션(예:Spring) 실제로 전통적인 솔루션을 제공해야 합니다.web.xml.

웹 애플리케이션을 사용하여 프로그래밍 방식으로 동일한 작업을 수행할 수도 있습니다.이니셜라이저 인터페이스.문서에 따라

ServletContext를 프로그래밍 방식으로 구성하기 위해 Servlet 3.0+ 환경에서 구현되는 인터페이스로, 기존의 web.xml 기반 접근 방식과는 반대로(또는 이와 함께) 사용됩니다.

SpringBoot에서 제안하는 바와 같이JavaConfiguration위에xml configuration.

대신 Java Configuration을 사용합니다.web.xml.

정말 그랬어요.SpringBootServletInitializer궁극적으로 구현하는 클래스WebApplicationInitializer인터페이스 및 오버라이드onStartup구성할 수 있습니다.

언급URL : https://stackoverflow.com/questions/48047909/why-it-is-necessary-to-extendspringbootservletinitializer-while-deploying-it-t

반응형