프로젝트 환경 설정
프로젝트 환경 설정
프로젝트 생성 및 세부 설정
1. 스프링 부트 스타터(https://start.spring.io/)에서 프로젝트 만들기
스프링부트 스타터는 스프링 부트에서 프로젝트를 쉽게 만들어주기 위해 제공한다.
project: gradle
springBoot: 2.4.10 버전
GroupId: jpabook
Artifact: jpashop
dependencies 설정
- Spring Web (스프링 스타터팩)
- Thymeleaf (jsp 대체 프로그램, WEB)
- Sptring Data JPA (JPA)
- H2 Database (편한 실습을 위한 DB 설정)
- Lombok (중복된 코드 줄여주는 자바 어노테이션기능)
=> GENERATE 버튼 눌러서 프로젝트 생성 ! 임포트해서 실행 !
JpashopApplication이라는 파일의 Main을 실행하면 다음과 같은 화면이 나옴
이 화면이 나오면 연결은 성공한 것이다 ! 테스트 파일도 실행해본다 !!
Gradle 확인
2. lombok이 잘 실행되도록 추가설정
1. Settings 열기. (Ctrl + Alt + s -> Preference(Settings)를 여는 단축키)
2. plugin에서 lombok을 검색해서 잘 깔려있는지 확인 or 업데이트
3. 왼쪽 카테고리 검색에서 Annotation Processors를 찾아서 검색
4. Enable annotaion processing을 체크해준다.
5. 임의의 테스트 클래스를 만들고 @Getter, @Setter 어노테이션이 잘 작동하는지 확인해준다.
3. IntelliJ Gradle 대신 자바 직접 실행
최근 IntelliJ 버전은 Gradle로 실행을 하는 것이 기본 설정이다. 이렇게 하면 실행속도가 느리다. 다음과 같이 변경하면 자바로 바로 실행해서 실행속도가 더 빠르다.
1. Settings -> Build, Execution, Deployment Build Tools Gradle
2.
Build and run using: Gradle -> IntelliJ IDEA
Run tests using: Gradle -> IntelliJ IDEA
4. Thymeleaf의 이해 (템플릿 엔진)
장점
Natural templates -> 웹브라우저에서 열림
단점
적응하기가 어렵다. 참고문헌을 많이보고 학습하는 것이 중요하다.
만들어서 실행해보기
(1) HelloController라는 Controller를 생성하고, 모델과 뷰를 설정해준다.
(Controller와 MVC의 이론적인 내용은 https://ggp03016.tistory.com/29?category=826311 참고)
package jpabook.jpashop;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("data", "hello");
return "hello";
}
}
(2) 생성한 뷰인 hello.html을 resources.templates 폴더에 넣고 코드를 짠다.
코드
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 손님</p>
</body>
</html>
간단하게 xmlns(xml namespce)를 thymleaf로 설정해준다.
<p th:text="'안녕하세요. ' + ${data}" > 안녕하세요. 손님 </p>
그냥 순수하게 html을 보여주면 -> 그냥 안녕하세요. 손님으로만 나옴 JSON 처럼 복잡한 코드로 나오는 것이 아님
서버사이드 렌더링을 하면 저 안의 설정 값이 보여지게 됨
실행모습
-> 순수한 html 보여줄때
-> 서버를 실행하고 Model에서 data에 값을 넣고 실행을 할 때
서버 연결 후 실행 방법
- 서버는 JpashopoApplication을 먼저 실행해서 서버를 연결하고
- localhost:8080/hello 주소로 들어감
5. 정적인 뷰 생성하기
resources.static 디렉터리에 생성하면된다.
ex)
static에 index.html(메인 홈페이지) 생성
코드
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello <a href="/hello">hello</a>
</body>
</html>
실행
수정한거 확인하기위해 서버껐다 켰다하지 않기 위한 꿀팁
build.gradle파일에서
implementation 'org.springframework.boot:spring-boot-devtools' 를 추가한다.
-> 개발할 때 도와주는 기능을 다 넣어놈
-> 수정하고 서버를 껐다 킬 필요없이 Build -> Recompile ' '만 실행하고 홈페이지에서 새로고침하면 됨
이 게시물은 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 수강하고 정리한 내용임을 밝힙니다.
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 - 인프런 | 강의
실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다., 본
www.inflearn.com