Spring Boot는 Spring Framework를 기반으로 한 어플리케이션 프레임워크로, 개발자가 최소한의 설정만으로 애플리케이션을 빠르게 개발할 수 있도록 도와줍니다. Spring Boot를 사용하면 자동 설정 기능, 내장 서버 지원, 종속성 관리 등으로 인해 복잡한 설정 없이 개발을 시작할 수 있습니다.
자동 설정 (Auto Configuration)
@SpringBootApplication 어노테이션을 사용하면 Spring Boot가 자동으로 애플리케이션의 설정을 구성합니다.
독립 실행형 어플리케이션
내장된 Tomcat, Jetty, 또는 Undertow 서버를 제공하여 별도의 WAS(Web Application Server)를 설정할 필요가 없습니다.
SpringApplication 클래스
Spring Boot 애플리케이션의 시작점이며, SpringApplication.run() 메서드를 통해 애플리케이션 실행을 시작합니다.
package org.example.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // 1. Spring Boot 애플리케이션 시작점
public class Boot01Application {
public static void main(String[] args) {
// Spring Boot 애플리케이션 시작
SpringApplication.run(Boot01Application.class, args);
}
}
@SpringBootApplication:
@SpringBootConfiguration: Spring의 구성 클래스로 동작.@EnableAutoConfiguration: 필요한 설정을 자동으로 구성.@ComponentScan: 특정 패키지를 스캔하여 빈(Bean)을 자동 등록.SpringApplication.run(Boot01Application.class, args):
Spring Boot 애플리케이션은 여러 방식으로 실행될 수 있습니다. 아래는 다양한 실행 방법입니다.
package org.example.boot;
import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
@SpringBootApplication
public class Boot01Application {
public static void main(String[] args) {
// Spring Boot 시작
// 1. 간단한 실행
SpringApplication.run(Boot01Application.class, args);
/*
// 2. SpringApplication 객체 사용
SpringApplication app = new SpringApplication(Boot01Application.class);
// 시작 시 환경 설정
app.setBannerMode(Banner.Mode.OFF); // 배너 출력 OFF
app.run(args);
*/
// 3. SpringApplicationBuilder 사용
new SpringApplicationBuilder()
.sources(Boot01Application.class) // 소스 클래스 설정
.bannerMode(Banner.Mode.OFF) // 배너 출력 OFF
.run(args);
}
}
SpringApplication.run()을 호출합니다. SpringApplication 객체 사용SpringApplication 객체를 생성하여 실행 시 추가적인 설정을 커스터마이즈할 수 있습니다.Banner.Mode.OFF).SpringApplicationBuilder 사용Windows Application
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Web Application
@RestController // RESTful 웹 컨트롤러
public class MyController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
app.setBannerMode(Banner.Mode.OFF)banner.txt 파일을 resources 디렉토리에 추가.application.properties 또는 application.yml 파일에서 환경을 추가로 설정할 수 있습니다.Spring Boot를 활용하면 빠르고 효율적으로 어플리케이션을 개발할 수 있으며, 다양한 실행 방식과 커스터마이즈 옵션을 통해 확장 가능성을 제공합니다.