전체 글

전체 글

    Spring 공통 응답 만들기(Enum, 제네릭 타입) - 게시판 만들기(5)

    이전에 공통 응답 클래스를 만들어서 활용하기는 했지만 보기에만 조금 더 깔끔해진 것 같지 사용하기 좋아보이지는 않는다. 오늘은 공통 응답을 조금 더 수정하기 쉽고 사용하기 좋게 바꾸려고 한다. controller/MemberController package com.seungh1024.controller; import com.seungh1024.Response; import com.seungh1024.entity.Member; import com.seungh1024.service.MemberService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.uti..

    JPA 레포지터리, Member CRUD - 게시판 만들기(4)

    Repository Repository란? 엔티티에 의해 생성된 데이터베이스 테이블에 접근하는 메서드들(findAll, save 등)을 사용하기 위한 인터페이스이다. 데이터 처리를 위해 테이블에 어떤 값을 넣거나 조회하거나 업데이트하거나 삭제시키는 등의 CRUD(Create, Read, Update, Delete)가 필요하다. 이때 CRUD를 어떻게 처리할지 정의하는 계층이 Repository이다. CRUD 데이터 조회하기 api 모듈에 새로운 패키지인 repository를 만들고 MemberRepository 인터페이스를 생성한다. repository/MemberRepository package com.seungh1024.repository; import com.seungh1024.entity.Memb..

    Spring Boot JPA 설정, 테이블 생성(Entity) - 게시판 만들기(3)

    의존성 추가 - build.gradle(api 모듈) dependencies { runtimeOnly 'mysql:mysql-connector-java' //MySQL implementation 'org.springframework.boot:spring-boot-starter-data-jpa' //JPA } 다음과 같이 JPA 의존성을 추가해 준다. 위와 같이 의존성을 추가해주면 테이블 생성, 쿼리문 등을 매우 간편하게 할 수 있는 어노테이션이나 메소드들을 사용할 수 있게된다. implementation implemetation은 해당 라이브러리가 변경되더라도 이 라이브러리와 연관된 모든 모듈들을 컴파일하지 않고 직접 관련이 있는 모듈들만 컴파일하기 때문에 rebuild 속도가 빠르다. 혹시 JPA에 대..

    Spring Boot Mysql 연결, 민감한 정보 관리하기(환경 변수 설정하기)- 게시판 만들기(2)

    멀티 모듈을 활용하여 직접 게시판 서비스를 만들어보려고 한다. 우선 api 모듈을 하나 만들면 아래와 같은 파일 구조가 나올 것이다. 이전의 멀티 모듈과 다른 점은 멀티 모듈을 ‘server’라는 파일 아래에 위치시켰다. 비슷한 성격의 모듈들을 저 ‘server’ 파일에서 관리하기 위함이다. build.gradle(루트 프로젝트) plugins { id 'java' id 'org.springframework.boot' version '3.0.2' id 'io.spring.dependency-management' version '1.1.0' } repositories { mavenCentral() } bootJar.enabled = false subprojects{ group = 'com.seungh102..

    Multi Module Project 생성하기 - 게시판 만들기(1)

    멀티 모듈을 사용하는 이유 프로젝트가 커지면 여러 개의 서버를 만들어야 할 수도 있다. 만약 Web 서버 하나만 만들다가 Batch 서버를 추가해야 하는 상황이 오고 Web 서버에 있는 User 엔티티를 Batch 서버에도 사용해야 한다면 어떻게 해야할까? 단순하게 User 클래스 파일들을 Batch 서버에 복사하여 붙여넣고 사용할 수도 있지만 이렇게 한다면 User 파일의 코드가 수정되는 경우 각 서버에 있는 모든 User 클래스 파일을 찾아서 각각 코드를 수정해야 한다. 이런 문제점을 해결하기 위한 방법이 멀티 모듈 프로젝트이다. 멀티 모듈은 하나의 공통 프로젝트를 두고 이 프로젝트를 여러 프로젝트에서 가져가서 사용할 수 있도록 기능을 제공한다. 위에서 예시를 들었던 프로그램이 아래 그림과 같다. W..