티스토리 뷰
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 기동이 함께 실행된다.
'⑤ 개발, 데이터베이스 > ⓢ Spring Boot' 카테고리의 다른 글
Rest API 관리 (Spring Boot Application + Swagger) (0) | 2020.09.24 |
---|---|
Spring initializr 활용 (Template Project 생성) (0) | 2020.09.24 |
Lombok 라이브러리 Eclipse 환경에 적용하기 (0) | 2020.09.06 |
[Spring Boot] Nexus2 -> Nexus3 Repository 업그레이드 (1) | 2019.07.29 |
[Spring Boot] 외부망 Docker 이미지 백업 및 내부망 이관 롤백 (0) | 2019.07.29 |
- Total
- Today
- Yesterday
- git
- Architecture
- 오픈스택
- openstack tenant
- jeus
- 마이크로서비스 아키텍처
- 쿠버네티스
- JBoss
- JEUS6
- Docker
- apache
- SA
- SWA
- OpenStack
- aa
- 아키텍처
- TA
- aws
- webtob
- k8s
- openstack token issue
- wildfly
- API Gateway
- MSA
- kubernetes
- 마이크로서비스
- node.js
- JEUS7
- nodejs
- Da
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |