[Spring boot] 스프링 부트 애플리케이션 실행

Song_Song·2021년 8월 22일
0
post-custom-banner

정적 메소드 호출 방식

이클립스에서 스프링 부트 프로젝트를 새로 띄우면 일반적으로 아래와 같이 정적 메소드 호출 방식으로 애플리케이션을 실행하게 돼있다.
정적 메소드는 인스턴스를 실행하지 않고 실행하는 방식으로 클래스만으로 메소드를 호출할 수 있다는 장점이 있다.

하지만 이는 상태를 가지지 않고 메소드만 가지고 있는 구조로 객체지향에서 벗어난 개념이다.

@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		// 정적 메소드 호출 방식
		SpringApplication.run(Application.class, args); 
	}

}



객체 생성 방식

아래는 객체 지향적 방식으로 SpringApplication 객체를 생성하여 run()를 실행한 방법이다.
이는 더 객체 지향적인 방식이며, WebApplicationType을 임의로 설정할 수 있다.

  • WebApplicationType
    1. SERVLER : Default. 기존 스프링 MVC 기반으로 웹 애플리케이션 구동
    2. NONE : 자바 애플리케이션으로 실행. 톰캣 구동 X (포트 충돌 문제 X)
    3. REACTIVE : 비동키 처리와 논 블로킹 입출력을 지원하는 WebFlux를 적용할 때 사용( 스프링 5.0에 추가)
@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		// 객체 생성 방식
		var app = new SpringApplication(Application.class);
		app.setWebApplicationType(WebApplicationType.SERVLET); 
		app.run(args);
	}
}
profile
성장을 위한 정리 블로그
post-custom-banner

0개의 댓글