스프링부트
1-2 스프링부트 처음 시작하기
늦게 시작한 개발자
2022. 12. 14. 15:40
jdk-18.0.2 설치 / eclipse_J2EE 사용
브라우저 주소창에 http://localhost:8080/hello 라는 URL 입력시 “Hello World” 문구가 출력되는 웹 프로그램 작성하기.
1. HelloController 컨트롤러 만들기
브라우저 처리를 위해서는 컨트롤러(Controller)가 필요한데, 이는 서버에 전달되어진 클라이언트의 요청을 처리해주는 Java Class다.
HelloController.java 파일이 생성되는데, 현재는 아무것도 실행되지 않는 클래스가 생성된 것을 확인할 수 있다.
package com.study.springboot;
public class HelloController {
}
제대로 된 컨트롤러의 기능을 활용하기 위해서는 아래의 코드를 입력해준다.
package com.study.springboot;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello World";
}
}
클래스명 위에 명시된 @Controller < 이것은 HelloController 클래스가 컨트롤러의 기능을 수행하겠다는 뜻이다. 이것을 명시하지 않는다면, 스프링부트 프레임워크가 컨트롤러로 인식하지 못한다.
hello 메서드에 적용한 @GetMapping(”/hello”)의 경우는 http://localhost:8080/hello URL 요청을 하면, hello메서드가 실행된다는 것을 의미한다. 즉, /hello URL과 hello 메서드를 매핑하는 역할이다.
- URL(/hello)명과 메서드명(hello)은 동일할 필요가 없다.
- ex) URL을 /hello로 하고 메서드명이 hello2를 해도 hello2로 메서드를 만들었다면 문제없이 /hello가 hello2메서드로 매핑이 된다. 하지만 매핑되지 않는다면 당연히 안되겠지만.
- Get방식의 URL요청은 GetMapping / Post방식의 URL요청은 PostMapping