11.3 코드 작성하기

우리의 애플리케이션을 마치기 위해 하나의 자바 파일을 만들어야합니다. Maven은 src/main/java기본적으로 소스를 컴파일 하여 폴더 구조를 생성 한 다음, 다음과 같은 파일을 추가해야합니다 src/main/java/Example.java.

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Example.class, args);
    }

}

여기에 코드가 많지는 않지만 꽤 많은 일이 일어나고 있습니다. 중요한 부분을 살펴 보겠습니다.

11.3.1 @RestController와 @RequestMapping 어노테이션

ExampleClass의 첫 번째 annotation은 @RestController입니다. 이를 스테레오 타입 주석이라고합니다. 코드를 읽는 사람들에게 힌트를 제공하고, Spring에는 이 클래스가 특정 역할을한다는 힌트를 제공합니다. 이 경우, 클래스는 웹 @Controller이므로 들어오는 웹 요청을 처리 할 때 스프링이 이를 고려합니다.

@RequestMappingannotation은 "라우팅"정보를 제공합니다. Spring에게 "/"경로를 가진 HTTP 요청이 home메소드에 매핑되어야한다고 말하고 있습니다 . @RestController어노테이션은 결과 문자열을 호출자에게 직접 반환하도록 Spring에 지시합니다.

The @RestController@RequestMappingannotation은 Spring MVC annotation이다 (스프링 부트에만 국한된 것은 아니다). 자세한 내용은 Spring Reference Documentation 의 MVC 섹션 을 참조하십시오.

11.3.2 @EnableAutoConfiguration 주석

두 번째 클래스 수준 어노테이션은 @EnableAutoConfiguration입니다. 이 주석은 Spring Boot가 여러분이 추가 한 jar 종속성을 기반으로 Spring을 구성하는 방법을 "추측"하도록 지시합니다. spring-boot-starter-webTomcat과 Spring MVC가 추가했으므로 자동 구성은 웹 애플리케이션을 개발하고 이에 따라 Spring을 설정한다고 가정합니다.

스타터 POM 및 자동 구성(Auto-configuration)

자동 구성(Auto-configuration)은 "Starter POM"과 잘 작동하도록 설계되었지만 두 개념은 직접 연결되지 않습니다. 시동기 POM 외부에서 jar 종속성을 자유롭게 선택하고 선택할 수 있으며 Spring Boot는 응용 프로그램 자동 구성에 최선을 다할 것입니다.

11.3.3 "main"메소드

우리의 응용 프로그램의 마지막 부분은 main방법입니다. 이것은 응용 프로그램 시작점에 대한 Java 규칙을 따르는 표준 방법 일뿐입니다. Spring의 main 메소드는 run을 호출하여 Spring Boot SpringApplication클래스에 위임합니다.

SpringApplication은 자동으로 구성된 Tomcat 웹 서버를 시작하는 Spring을 시작으로 우리의 응용 프로그램을 부트 스트랩합니다.

기본 Spring 구성 요소 인 SpringApplication에 알리기 위해 Example.classrun 메소드의 인수로 전달해야합니다. args 배열도 전달되어 명령 행 인수를 노출합니다.

Last updated