본문 바로가기

Project

(5)
Spring boot, react 이용한 블로그 개발 (4) - Post API 개발 이번 포스트에서는 포스트를 등록하고 수정하고 삭제하고 읽는 포스트 관련 CRUD API를 개발할 것이다. 이를 통해 블로그 개발에 있어 아주 기본적인 기능을 추가하게 되고 react를 통해 개발하는 프론트엔드와 연동하여 유의미한 화면을 만들 수 있을 것이다. 1. PostDto 객체 생성 - Post와 관련된 데이터를 CRUD를 통해 받을 때는 기존에 생성한 Post 도메인 객체를 사용하지 않을 것이다. 물론 @jsonIgnore 어노테이션을 이용하는 방법으로 원하는 데이터만 노출할 수도 있겠지만 Post 객체를 직접 이용하기 보단 데이터 이동간의 필수 필드만 가지고 있는 DTO 객체를 별도로 생성하여 사용할 것이다. @Data public class PostDto { private Long id; pr..
Spring boot, react 이용한 블로그 개발 (3) - ConfigurationProperties 프로퍼티 설정 이번 포스트에서는 application.yml에 프로퍼티 정보를 저장하고 스프링의 ConfigurationProperties 어노테이션을 이용하여 자바 클래스에 바인딩하는 것을 적용할 것이다. 이를 통해 프로퍼티 정보를 명시적으로 클래스를 통해 중앙 관리하여 다른 곳에서 프로퍼티 정보를 쉽게 가져다 쓸 수 있을 것이다. 1. application.yml 작성 - application.yml에는 사용할 프로퍼티 정보를 yaml 형식으로 작성하게 된다. 아래 코드에 작성된 형식의 루트에는 application과 spring이 있는데 application 이하에는 코드 작성시 명시적으로 프로퍼티를 주입시킬 대상을 나열하였고 spring 아래에는 spring과 관련된 라이브러리에서 사용하는 프로퍼티를 작성하였다..
Spring boot, react 이용한 블로그 개발 (2) - JPA + hibernate 연동 이번 포스트에서는 DB연동 부분을 알아볼 것이다. 기본적으로 이번 프로젝트에서 ORM을 사용할 것이기 때문에 자바에서 ORM을 사용하기 위한 기본인 JPA와 Hibernate를 이용한다. DB는 로컬 환경에서는 테스트가 수월한 H2 database를 이용하고 운영환경에서는 mysql를 사용한다. 1. pom.xml 설정 - pom.xml에 spring에서 jpa를 쉽게 사용하기 위한 spring-boot-starter-data-jpa 라이브러리를 추가하고 JDBC connection pool 라이브러리는 가볍고 성능이 좋은 HikariCP를 이용한다. DB 커넥트 설정을 위해 h2와 mysql 커넥터를 추가한 것을 볼 수 있다.아래에는 위와 관련된 라이브러리를 추가한 것을 확인할 수 있다. org.spr..
Spring boot, react 이용한 블로그 개발 (1) - 프로젝트 구조 설정 블로그 애플리케이션을 개발하기에 앞서 먼저 기본 프로젝트 구조 틀을 잡고 진행을 하겠다. 일반적으로 스프링과 리액트를 이용하여 싱글 페이지 웹 애플리케이션을 개발할 때 크게 2가지 방법이 있다. 첫 번째는 하나의 스프링 프로젝트로 구성하고 해당 프로젝트 안에 프론트엔드 영역을 설정하는 것이다. 이렇게 하나의 레파지토리, IDE를 이용해서 개발을 진행하고 maven 등의 플러그인을 통해 빌드를 하기 때문에 한명의 개발자가 풀스택으로 빠르게 개발할 때 편리하다. 두 번째는 프론트와 백엔드의 프로젝트를 분리하고 각각 별도로 개발을 진행하는 방법이다. 이 경우에는 백엔드와 프론트를 프록시를 이용하여 연동하고 빌드는 개별적으로 한다. 프로젝트 규모가 커지고 개발자의 롤이 명확하다면 이와 같이 프로젝트를 분리하는 ..
Spring boot, react 이용한 블로그 개발 (0) - 프로젝트 시작 최근에 프론트엔드의 관심이 생기면서 react를 공부하기 시작했다. 국내에 리액트 관련된 국내외 블로그와 국내에 출판된 책도 구매하여 많은 내용을 배울 수 있었다. 그러나 새로운 기술을 공부하는데는 이론도 중요하지만 역시 실제 프로젝트를 진행해 보는 것이다. 지금까지 학습한 내용을 바탕으로 프론트엔드는 리액트로 백엔드는 스프링 부트를 이용한 RestFul한 SPA(Single Page application) 형태의 블로그 애플리케이션을 개발할 것이다. 과거에 앵귤러를 기반으로 미니 프로젝트를 진행한적이 있는데 여러가지 일로 바빠지면서 소홀히하게 돼었고 결국 프로젝트 완성을 하지 못하였다. 이번 프로젝트에서는 프론트엔드, 백엔드를 모두 구현하고 실제 클라우드에 올려 서비스하는 것을 목표로 한다. 개발 내용..