1. 프로젝트 생성
3.
스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성
https://start.spring.io
세팅 방법
4.
intellij에서 open 눌러서 hello-spring(스프링 입문)의 build.gradle선택해서 open하기
5.
Open as Project 선택
프로젝트 구조
6.
src/main/java/hello/hellospring/HelloSpringApplication.java의 main method 실행하기(run)
src/main/java/hello/hellospring/HelloSpringApplication.java
7.
8.
왼쪽에 끄는 버튼(빨간 네모)으로 끄고 다시 들어가면 사이트에 연결할 수 없다고 뜸
9.
Settings(오른쪽 상단에 톱니바퀴 모양)(혹은 Preferences)에서 gradle 검색하면 build에 Gradle있음.
•
Build and run using이랑 Run tests using을 둘다 intelliJ로 바꿔주기! (gradle통해 run하면 느림)
10.
intellij 깃허브 연동
참고 아티클 + 에러 해결
급한 사람은 3부터 따라하기
a.
intellij git 실행 설정 (상단 아티클 참고)
b.
intellij github 계정 연동 (상단 아티클 참고)
c.
원하는 위치에 GDSC-1st-Backend-Study/ChooSeoyeon 폴더 만들기
d.
만들어둔 프로젝트를 ChooSeoyeon 폴더 내부로 옮기기
e.
터미널(gitbash)(gitbash를 intellij에서 여는 것도 가능. 본인 편한 대로)에서 GDSC-1st-Backend-Study 폴더 들어가서 아래 코드 입력
i.
원격 저장소 init
→ git init
ii.
원격 저장소 연결
→ git remote add
iii.
pull 받기
→ git pull origin master
iv.
브랜치 변경 (브랜치명과 폴더명이 중복되어 checkout으론 에러 났음. 따라서 switch 사용함 - 맞는 방법인진 확실x..)
→ git switch origin ChooSeoyeon
v.
commit하고 push하기
→ git add .
→ git commit -m ‘커밋메시지’
→ git push origin ChooSeoyeon
2. 라이브러리
•
Gradle은 의존관계가 있는 라이브러리를 다 함께 다운로드함
→ spring관련 라이브러리 쓰면 알아서 core까지 다 가져와 줌.(편리)
3. View 환경설정
1) index.html → 정적 컨텐츠 방식
•
Welcome Page 만들기
1.
html 파일 만들기
src/main/resources/static/index.html
2.
서버 껐다 키기(좌측 하단에 빨간네모→초록세모 차례로 클릭)
3.
localhost:8080 들어가서 확인(정적페이지)
2) 템플릿 엔진 쓰면 동적페이지 사용 가능 → thymeleaf 템플릿엔진
참고 사이트
3) /hello & hello.html → 동적 컨텐츠 방식 (MVC, 템플릿 방식)
•
Controller(웹어플리케이션의 첫번째 진입점) 사용해서 Page 만들기
1.
src/main/java에서 package 만들기 → hello.hellospring.controller
2.
만든 package에서 Java Class 만들기 → HelloController
3.
Controller 코드 입력
src/main/java/hello/hellospring/controller/HelloController.java
4.
html 파일 만들기
src/main/resources/templates/hello.html
타임리프 쓸 때 값이 안들어온다면?
5.
서버 껐다 키기
에러
해결
6.
localhost:8080/hello 들어가서 확인
페이지 소스
4) 동작 원리
1.
웹 브라우저에서 /hello 던지면, 스프링부트가 내장한 톰캣이란 웹서버가 이를 받아서 스프링한테 이에 대해 물어봄.
2.
스프링이 helloController에 보면 GetMapping(”hello”)가 있는데, 여기서 Get은 Get, Post… method 할 때 Get임. Get 방식이기에 컨트롤러의 hello url에 매칭이 됨.
3.
컨트롤러에 있는 아래 method가 실행됨.
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!!");
return "hello";
}
Java
복사
4.
model은 스프링이 만들어서 넘겨준거임. model에다가 addAttribute해서 key는 data고 값은 hello!!라고 씀으로써 model에 data는 hello!!라고 넣어놈.
5.
“hello”를 return 함. 이때 hello는 src/main/resources/template에 있는 html 파일 이름과 같은 거임. 즉, hello.html에 렌더링시키라는 뜻임. 모델이란걸 화면에 넘기면서 hello.html의 화면을 실행시키라는 거임.
•
return 값 == html 파일명
에러
해결
정리
참고
4. 빌드하고 실행하기
1.
intellij에서 구동 중인 서버 끄기
2.
터미널(git bash)에서 hello-spring(스프링 입문) 폴더 들어가기
cd c/리포지토리/GDSC-1st-Backend-Study/ChooSeoyeon/스프링 입문
3.
./gradlew build
4.
cd build/libs
5.
ls -arlth → 18메가 짜리 jar 파일 있는 거 확인 가능
6.
java -jar hello-spring-0.0.1-SNAPSHOT.jar
•
배포 시, hello-spring-0.0.1-SNAPSHOT.jar 파일만 복사해서 서버에 넣고서
java -jar로 복사한 파일을 실행하면 됨. 그러면 서버에서 스프링이 동작하게 됨.
•
잘 안되면 ./gradlew clean build 하면 됨. 그러면 완전히 지우고 다시 build함.