Spring/실전! 스프링부트와 JPA 활용1

1. 프로젝트 환경설정

hyun-1200 2022. 3. 6. 12:39

 

<1> 프로젝트 생성

1. spring 사이트를 들어가서 아래와 같이 Dependencies를 설정한다. 

https://start.spring.io

Dependencies에서 추가해줘야 하는 것들

- Spring Web Services

- Thymeleaf

- JPA

- H2

 

* Lombok 추가하는 법  ( getter 와 setter을 자동으로 만들어줘서 매우 편리 ) 

1.  References > Plugins 에서 Lombok 을 추가해주고,

2. enable annotiation processing을 체크해준다. 

 

<2> 라이브러리 살펴보기

 

  •  spring-boot-starter-web
    • spring-boot-starter-tomcat: 톰캣 (웹서버)
    •  spring-webmvc: 스프링 웹 MVC 
  • spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
  • spring-boot-starter-data-jpa
    •  spring-boot-starter-aop
    •  spring-boot-starter-jdbc
      • HikariCP 커넥션 풀 (부트 2.0 기본)
    • hibernate + JPA: 하이버네이트 + JPA
    • spring-data-jpa: 스프링 데이터 JPA
  • spring-boot-starter(공통): 스프링 부트 스프링 코어 로깅
    • spring-boot
      • spring-core
    • spring-boot-starter-logging
      • logback, slf4j
  • 핵심 라이브러리
    • 스프링 MVC 
    • 스프링 ORM
    • JPA, 하이버네이트
    • 스프링 데이터 JPA 
  • 기타 라이브러리
    • H2 데이터베이스 클라이언트
    • 커넥션 풀부트 기본은 HikariCP
    • WEB(thymeleaf)
    • 로깅 SLF4J & LogBack
    • 테스트
 

<3> View 환경설정

해당 강의에서는 jsp 도 아니고, vue 도 아니고 reate 도 아닌 thymleaf 를 사용한다.

 

스프링 부트 thymeleaf viewName 매핑

  •  resources:templates/ +{ViewName}+ .html
  • > resources:templates/hello.html 추가하여 아래와 같이 소스작성

컨트롤러 클래스에 @GetMapping("hello") 를 사용하였기 때문에, hello.html 파일이 필요함

따라서,

localhost:8080/hello 로 이동하면 저 파일에 맞는 내용들이 나온다.

 

참고. spring-boot-devtools  라이브러리를 추가해주면, html만 변경되었을대 저장하면 바로 반영된다.

아래 소스 참고

 

 

<4> H2 데이터베이스 생성

터미널에서 실행할때는 설치경로 파일까지 이동한 후에

./h2.sh

실행해주면 된다.

 

* 프로젝트 실행 시 마다, 데이터베이스 연결해주어야한다. 

* 아래 처럼 '사이트에 연결할수 없음' 오류창이 뜬다면, ip 주소를 localhost로 바꿔줘야한다. 

 

http://218.38.137.27:8082/?key=811de73c5f149a8f5c0915bad3e8dc3dc373c96a11fae5ff6565d4e1ae17ddfd

http://localhost:8082/login.jsp?jsessionid=0fe56f0b5886a8c520ea221172f7330c

 

<5> JPA 와 DB설정, 동작확인

 

 

 

'Spring > 실전! 스프링부트와 JPA 활용1' 카테고리의 다른 글

웹계층 개발 - Home  (0) 2022.03.18
주문 도메인 개발  (0) 2022.03.16
회원 도메인 개발  (0) 2022.03.09
애플리케이션 아키텍처  (0) 2022.03.08
2.요구사항 분석 설계  (0) 2022.03.08