김영현님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 수강하면서 기록하는 노트 ✍️
Spring Initializer에서 프로젝트를 생성한다.
과거에는 Maven을 많이 썼으나, 요즘은 gradle을 쓰는 추세다.
Generate 하고 인텔리제이에서 프로젝트를 열어준다!
gradle과 관련된 폴더
예전에는 한땀한땀 다 쳤지만 요즘에는 스프링 부트가 나오면서 starter가 다 설정해준다!
빌트에 필요한 정보들을 모아놓은 곳
HelloSpringApplication파일을 보면 화살표가 보이는데 이 프로젝트를 Run해주자!
그럼 저렇게 우다다다 프로젝트가 실행되고,
8080 포트에서 열린 걸 볼 수 있다.
프로젝트 생성 실행 성공~
아무것도 연결을 안해놨기 때문에 에러나는게 당연하다.
요즘 빌드 툴들은 의존 관계를 관리해준다.
dependencies는 이것 뿐인데,
이렇게 의존 관계에 있는 것들을 자동으로 땡겨온다!
요즘은 라이브러리 빌드하고 웹서버로 올리면 끝!
✚ 실무에서는 System.out.println()으로 로그를 남기지 않고 log로 남긴다!
중요한 오류를 더 모아 볼 수 있기 때문에(?)
타임리프 템플릿 엔진 (View)
스프링 부트 + 스프링 코어 + 로깅
index.html에다 작성하고 실행을 시키면
짠!
스프링의 공식 문서/spring boot feature로 들어간다.
index.html을 올려두면 Welcome 페이지 기능을 제공한다.
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data","hello");
return "hello";
}
}
"/hello" 패스로 요청이 들어오면 이 메소드를 실행시킨다.
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p th:text="'안녕하세요. ' +${data}">안녕하세요. 손님</p>
</body>
</html>
xmlns:th="http://www.thymeleaf.org"
을 씀으로 thymeleaf를 쓸 수 있다.
웹 브라우저에서 어떤 패스로 요청을 하면 내장 톰캣 서버에서 해당 패스에 매핑된 컨트롤러를 찾아 메소드를 실행시킨다.
model.addAttribute("data","hello");
return "hello";
요 부분을 보면 return으로 반환한 내용을 templete 폴더에서
해당 파일을 찾아 렌더링 하고, model을 함께 넘겨준다.
이제 thymeleaf 템플릿 엔진 처리를 해준다.
이제 "/hello" 로 요청을 보내면,
프로젝트가 있는 폴더로 들어가서
$ ./gradlew build
그리고 build 폴더에 들어간다.
$ cd build/libs
그럼 이렇게 파일이 만들어진 것을 확인할 수 있다.
$ java -jar hello-spring-0.0.1-SNAPSHOT.jar
이렇게 실행 되는 것을 볼 수 있다.
이 jar 파일만 집어 넣고 실행 시키면 끝이다!
$ ./gradlew clean build