빠른 스프링 개발을 도와주는 애플리케이션. 구성에 시간이 별로 들지 않는다!
이 글에서는 Spring boot를 구성하는 것들을 짧게 훑고 간다. 대부분 스프링 공식문서를 참고한다.
Maven, Gradle이 있는데 둘 다 빌드, 라이브러리 관리 도구이다.
자바 기반 웹 서버, 애플리케이션 서버에서 사용하는 클래스다. 웹서버의 객체를 다루고, 외부 요구 처리하고, 응답을 던지고, 다시 웹서버로 답을 보낸다.

출처: https://www.geeksforgeeks.org/introduction-java-servlets/
위와 같이 서버와 클라이언트 사이 중간 역할을 한다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.1'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.spring-1'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
apply plugin: 'io.spring.dependency-management'을 통해 메이븐처럼 종속성 관리를 사용할 수 있다고 한다tasks.named('test') {
useJUnitPlatform()
}
package com.spring1.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@SpringBootApplication: 기본 탐색 패키지를 정의한다고 한다. 예로 JPA 애플리케이션을 작성하면 @SpringBootApplication을 단 클래스가 @Entitiy를 탐색한다. @Configuration 클래스를 통해 구성하는 걸 권장한다.@ComponentScan을 통해서 관련 클래스들을 사용할 수 있다. 사용하면 @Component나 @Service 같은 것들이 자동으로 beans으로 등록된다.// Same as @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController
@SpringBootApplication
public class MyApplication {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController: @Controller+@Responsebody. 호출자에게 값을 반환@RequestMapping: 라우팅 정보 제공. /로 시작하는 http는 home 메서드로 매핑=대응된다.