티스토리 뷰

728x90
반응형

Spring Boot는 경량화 된 Framework로 클라우드 환경에 적합한 프레임워크로써 각광받고 있다.

Spring Boot의 Embedded Tomcat은 미들웨어의 경량화까지 Famework에서 관리하고 담당하는 미들웨어로써, 보다 빠르고 쉽게 개발하고 운영할 수 있도록 도와 준다.

다음은 Spring Boot에서 Embedded Tomcat을 활용하여 테스트하는 방법에 대해 알아보도록 하자.

Embedded Tomcat은 Spring Boot 라이브러리 중 spring-boot-starter-web에 기본 내장되어 있다. 따라서 별도의 구성 없이 Embedded Tomcat을 위 라이브러리 추가만으로 사용할 수 있다.

반대로 다른 내장 was를 사용하고자 할 경우 exclusion을 통해 내장 톰캣을 제외하고 추가해 주는 방법을 사용해야 한다.

다음은 Embedded Tomcat을 이용한 테스트 방식 및 두가지 기동 관리 방법에 대해 살펴보도록 한다.

Maven Project Clear

pom.xml 우클릭 → Run As  Maven clean

Maven Project Install

pom.xml 우클릭 → Run As  Maven install

Spring Boot Embedded Tomcat Run

Embedded Tomcat을 기동하는 방법은 크게 두가지가 있다.

1. SpringBootApplication을 Java Application으로 기동하는 방법


package com.lgcns.app;

 

import org.springframework.boot.SpringApplication;

@SpringBootApplication
public class StringBootAppApplication {
  public static void main(String[] args) {

    SpringApplication.run(StringBootAppApplication.class, args);
  }
}


위와 같이 SpringBootApplication의 initialize하는 class에서 Ctrl + F11 또는 Run As → Java Application을 클릭하면 Embedded Tomcat을 기동할 수 있다.

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::       (v2.1.16.RELEASE)

2020-09-06 14:55:47.961  INFO 51588 --- [           main] com.lgcns.app.SpringBootAppApplication   : Starting SpringBootAppApplication on DESKTOP-SDT0PVK with PID 51588 (D:\[NRSon] 개발관련\workspace\templateSpringBoot\target\classes started by nrson in D:\[NRSon] 개발관련\workspace\templateSpringBoot)
2020-09-06 14:55:47.963  INFO 51588 --- [           main] com.lgcns.app.SpringBootAppApplication   : No active profile set, falling back to default profiles: default
2020-09-06 14:55:48.435  WARN 51588 --- [           main] o.m.s.mapper.ClassPathMapperScanner      : No MyBatis mapper was found in '[com.lgcns.app]' package. Please check your configuration.
2020-09-06 14:55:49.156  INFO 51588 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-09-06 14:55:49.177  INFO 51588 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-09-06 14:55:49.177  INFO 51588 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.37]
2020-09-06 14:55:49.305  INFO 51588 --- [           main] org.apache.jasper.servlet.TldScanner     : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
2020-09-06 14:55:49.308  INFO 51588 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-09-06 14:55:49.308  INFO 51588 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1313 ms
2020-09-06 14:55:49.679  INFO 51588 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-09-06 14:55:49.888  INFO 51588 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-09-06 14:55:49.890  INFO 51588 --- [           main] com.lgcns.app.SpringBootAppApplication   : Started SpringBootAppApplication in 2.157 seconds (JVM running for 2.48)

2. Maven Build 활용

Project 우클릭 Run As Maven build...

Goals : spring-boot:run 입력 후 Apply → Run

위와 같이 구성해 두면 이후 Spring-Boot Embedded Tomcat을 기동할 때 별도의 액션 없이 Maven build를 클릭하면 Maven install과 Embedded Tomcat 기동이 함께 실행된다.

728x90
반응형