Spring 프레임워크를 기반으로 하는 Java 개발 플랫폼으로, 복잡한 설정 없이 빠르게 애플리케이션을 개발할 수 있도록 돕는 도구.
Spring Boot는 Spring의 다양한 기능을 제공하면서도 설정과 구성을 자동으로 처리하여 개발자의 편의를 극대화함
@EnableAutoConfiguration 어노테이션을 통해 자동 구성을 활성화함. 보통 @SpringBootApplication 에 포함되어 사용됨spring-boot-starter-web 은 웹 애플리케이션 개발에 필요한 의존성을 포함spring-boot-starter-web 을 사용하면 기본적으로 Tomcat이 포함되어 실행됨application.properties 또는 application.yml 파일을 통해 애플리케이션의 설정을 외부화할 수 있음/actuator 엔드포인트를 통해 애플리케이션의 상태를 확인하고 관리할 수 있음spring-boot-devtools 를 사용하면 개발 중 자동으로 애플리케이션을 재시작하거나 핫스와핑(hot swapping) 기능을 제공하여 개발 효율성을 높임@SpringBootApplication@Configuration, @EnableAutoConfiguration, @ComponentScan 을 포함하여 애플리케이션의 기본 설정을 제공import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args)
}
}
application.properties, application.ymlapplication.properties
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password
application.yml
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase
username: root
password: password
spring-boot-starter-web 은 웹 애플리케이션에 필요한 의존성을 포함@RestController@Controller 와 @ResponseBody 의 조합으로, HTTP 요청을 처리하고 JSON 형식으로 응답을 반환import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
/actuator/health 와 /actuator/info 를 통해 애플리케이션의 상태를 확인할 수 있음management.endpoints.web.exposure.include=*
curl http://localhost:8080/actuator/health