상세 컨텐츠

본문 제목

스프링 부트로 시작하는 웹 서비스_6

JSP·자바·코틀린

by 김일국 2021. 8. 20. 17:24

본문

### 작업한 소스 깃 : https://github.com/miniplugin/kimilguk-springboot2

### 작업결과 배포 클라우드헤로쿠 : https://kimilguk-springboot2.herokuapp.com/

이전 포스트에 이어서 오늘은 h2 데이터베이스에서 postgreSQL DB로 마이그레이션 했습니다.

그리고, 헤로쿠에 배포.

마이바티스 대신에 스프링 JPA(JavaPersistenceApi) 인 ORM(ObjectRelationalMapping)을 사용하니, 쿼리를 수정할 필요없이 설정만 변경하면, 바로 적용이 되어서 편리한 듯 합니다.

그리고, 스프링부트버전과 그래들 버전을 업그레이드 했는데, 설정파일 부터 JUnit까지 변경할 부분이 꽤 됩니다.

### 이 프로젝트에서 구현된 내역(아래)
- 개발툴: 인텔리J 커뮤니티, 빌드툴버전: 그래들6.7.1, 스프링부트버전: 2.4.9, 자바버전: 오픈 JDK8
- 사용된 기술: 롬복, JUnit 테스트, mustache 화면처리, 하이버네이트 스프링 JPA, H2(메모리) postgreSQL(RDBS) 데이터베이스, HikariPool(스프링부트에 내장된 기본 DB 커넥션), 스프링 시큐리티(DB) + OAuth2(네이버외부API) + 스프링세션
- 구현1: 게시판 CRUD JUnit 테스트(롬복, HikariPool 사용)
- 구현2: 게시판 CRUD + 첨부파일기능(mustache 화면처리, 하이버네이트 H2 메모리 DB 사용)
- 구현3: 외부 API 로그인(네이버 OAuth2), 스프링시큐리티 로그인(스프링세션), 관리자/사용자 권한 관리(회원관리)
- 구현4: 게시판 검색과 페이징(스프링 Page 인터페이스 사용) 처리 및 에러페이지 추가, CRUD 완료 메세지기능 추가
- 구현5: 헤로쿠 배포 및 postgreSQL 데이터베이스 연동(하이버네이트 스프링 JPA 사용)

 

### 20210821() 작업예정.
- 페이징 처리 다른 방법 적용(좀더 복잡): https://victorydntmd.tistory.com/333

### 20210820() 작업.
- 헤로쿠에 postgreSQL DB 생성 후 연동시키기, application-db-heroku.properties 추가.
- application.db-postgres.properties 설정파일에서 초기 더미값 입력 후 업데이트만 적용 시키기 (깃 소스를 2번 배포) 아래
- spring.datasource.schema=classpath:import.sql 부분 주석 처리 후 배포(초기:JPA 엔티티로 테이블 자동 생성)
- spring.datasource.schema=classpath:import.sql 부분 주석 해제 후 배포(중간)
- spring.datasource.schema=classpath:import.sql 부분 주석 처리 후 배포(마지막)
- postgreSQL 에서 시퀸스 posts_id_seq 20으로 수정. simple_users_id_seq 2로 수정. (더미데이터 입력 후 라서, mysql 일때는 필요 없음.)
- 빌드툴버전: 그래들4.10.2 -> 6.7.1(오픈자바8), 스프링부트버전: 2.1.7 -> 2.4.9
- 위 버전 마이그레이션 기술 참조: https://jojoldu.tistory.com/539
- 위 빌드버전 수정 후 build.gradle 에서 코끼리 클릭으로 업데이트 처리

### 20210819() 작업.
- h2 데이터에비스에 추가로 postgresql 도 지원가능하게 추가.
- build.gradle 와부 DB 의존성 추가
- db-postgres.properties 파일추가 (하이버네이트 JPA 를 이용해서 테이블 생성, 더미데이터 입력)

### 20210818() 작업.
- Save-, Update-, List-, ResponseDto 클래스 1개로 통합. PostsDto.java
- 페이징 웹툰 회차 처럼 Select 박스추가.

작업결과 URL: https://kimilguk-springboot2.herokuapp.com/

관련글 더보기

댓글 영역