인프런의 김영한님 스프링부트 강의가 유명하다는 말을 많이 들었다.
나는 스프링 레거시버전으로만 프로젝트를 하기도 했고,
스프링 프로젝트를 만든 지 시간이 좀 되기도 해서 스프링 입문 강의를 보며 스프링부트로 프로젝트를 만들어 보기로 한다.
0)준비하기
https://www.jetbrains.com/ko-kr/idea/download/#section=windows
먼저 인텔리제이를 다운받았다.
기존에는 이클립스나 sts를 사용했는데(node플젝할 때는 vscode를..) 강사님께서 인텔리제이를 강추하셔서 나도 한번 써보기로..^^
https://www.oracle.com/kr/java/technologies/downloads/#java11-windows
그리고 여기서 자바11도 다운로드해주었다.
기존에 나는 1.8버전을 쓰고 있었다...
여기서 스프링부트 프로젝트 설정을 할 수 있다.
나는 내내 maven으로 프로젝트를 만들어 왔는데 요즘 대세는 Gradle이라 하여 Gradle로 선택!
snapshot버전은 완전한 버전이 아니라고 하여 2.7.6 으로 선택했다.
Dependencies는 Spring Web, 그리고 Thymeleaf를 선택했다.
Thymeleaf는 이름만 들어보던 것이라 검색해봤는데, html을 지원하고 뷰를 담당하는 것이라고 한다.
기존의 JSP의 역할을 대체하는 것인데, 스프링부트에서는 JSP사용이 불가능하다고 한다.
GENERATE를 누르면 파일을 다운받는다.
압축을 풀고 인텔리제이에서 build.gradle을 실행하면 빌드가 된다...(특: 오래걸림)
* 인텔리제이에서 jdk버전설정이 제대로 안되어 있는 경우가 있다. 이럴 때는
- 이전 버전이 깔려있다면 시작화면에서 sysdm.cpl을 검색하고 환경변수에서 path디렉토리를 11버전 경로로 바꿔준다.
- File -> Project Structure(Ctrl+Alt+Shift+S)에 들어가 java11로 지정한다.
- File -> Settings(Ctrl+Alt+S) gradle에서 Gradle JVM을 java11로 지정한다.
- 마지막으로 프로젝트를 모두 닫은 다음 File -> Open -> 해당 프로젝트의 build.gradle을 선택-> Open as Project를 선택한다.
그러면 자바11로 잘 설정이 되고
요것을 실행하면
정상적으로 실행되는 것을 볼 수 있다.
1)실행하기
static폴더에 index.html파일을 만들어 뷰를 작성했다.
(스프링부트에서는 index.html 을 먼저 실행시킨다고 한다.)
다시 애플리케이션을 실행하면 잘 뜬다^^
그러나 hello하이퍼링크를 뜨면 여전히 에러가 뜬다.... 저 부분을 고치기 위해 컨트롤러를 작성한다.
컨트롤러 폴더를 생성-> 컨트롤러 자바파일을 만들었다.
getMapping은 주소의 8080/ 뒤에 붙는 문자를 넣어주면 된다. (get방식을 사용할 때와 같음)
키값은 data, value는 hello!!로 적어주었다.
이 데이터를 담은 값을 hello html에 전달한다.
타임리프를 사용하여 뷰를 만들었다.
p태그에 있는 th:text는 태그 안의 텍스트를 서버에서 전달 받은 값에 따라 표현하고자 할 때 사용된다고 한다.
실행해보면 이렇게 data를 잘 전달받은 모습을 볼 수 있다.
+인텔리제이 말고 cmd에서 빌드하기!
먼저 프로젝트 폴더 경로에 들어간다. (나는 E:\hello-spring이었다.)
gradlew build 입력
하면 이런 말들이 뜬다.
그러면 프로젝트 폴더에 build 폴더가 생성되어 있는데,
그 뒤에는
cd build
cd libs
java -jar (libs안에 생성된 jar파일이름).jar
하면 실행된다.
'Study > spring' 카테고리의 다른 글
[JPA] Error: 1364: Field 'id' doesn't have a default value 오류 해결 (0) | 2023.06.20 |
---|---|
스프링 핵심 원리 강의 정리 1 - 객체지향 (0) | 2022.12.23 |
Spring 에러 - org.springframework.jdbc.datasource.DriverManagerDataSource (0) | 2022.09.25 |
스프링 프로젝트 - 게시판 만들기 1(SQLplus DB생성, lombok설치) (0) | 2022.08.12 |
[spring] MyBatis를 사용하여 게시판 만들기 (0) | 2022.06.02 |