Study/SpringBoot(7)
-
JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' package com.example.demo.persistence; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import com.example.demo.model.TodoEntity; @Repository public interface TodoRepository extends JpaRep..
2023.01.12 -
임시
ResponseEntity - 바디뿐 아니라 다른 매개변수 status나 header를 조작 할 수 있다. return ResponseEntity.badRequest().body(response); return ResponseEntity.ok().body(response);
2023.01.12 -
REST API
Representational State Transfer - REST 아키텍쳐 스타일 아키텍처 패턴은 반복되는 문제 상황을 해결하는 도구이고 스타일은 반복되는 아키텍처 디자인을 의미한다. REST는 6가지 제약조건을 가지며 이 가이드라인을 모두 따르는 API를 RESTful API라고 한다. REST 제약 - 클라이언트 서버 - 상태가 없는 (stateless 클라이언트가 서버에 요청을 보낼때 이전 요청의 영향을 받지 않음을 의미한다) - 캐시되는 데이터 (서버에서 리소스를 리턴할 때 캐시가 가능한지 명시 할 수 있어야 한다. HTTP에서는 cache-control 헤더에 명시 가능) - 일관되는 데이터 - 일관적인 인터페이스(URI의 형태라거나 리소스의 리턴 형식 등) - 레이어 시스템(클라이언트와 서..
2023.01.12 -
레이어드 아키텍처
레이어드 아키텍처 패턴은 어플리케이션을 구성하는 요소들을 수평으로 나눠 관리하는 것이다. 프레젠테이션 레이어 Controller , dto 비지니스 레이어 Service , model 퍼시스턴스 레이어 Persistence , entity 데이터베이스 레이어 DB Controller, Service, Persistence 로직 수행 dto model entity 데이터를 담기 위한 클래스 DTO(Data Transfer Object) - 리턴시에 Model을 그대로 리턴하지 않고 DTO로 변환해 리턴하는데 1. 비지니스 로직을 캡슐화 하기 위함이다. 모델은 db 테이블 구조와 매우 유사하기에 db스키마를 추측할 여지가 많다. 2. 클라이언트에 넘겨줘야할 정보를 Model이 다 가지고 있지 않은 경우가 많..
2023.01.12 -
롬복
그래들에 롬복을 등록하고 롬복 .jar 파일을 다운로드 받은 후 cmd나 파워셀로 java -jar 롬복파일.jar을 실행하여 자신이 사용하는 IDE를 등록해주면 된다 ex) 이클립스 롬복으로 사용하는 어노테이션 @Builder - 오브젝트 생성을 위한 디자인 패턴으로 TodoEntity.builder().id("").userId("").build(); 형식으로 진행한다. @NoArgsConstructor - 매개변수가 없는 생성자 @AllArgsConstructor - 모든 매개변수를 포함한 생성자 @Data - Getter / Setter 메서드 구현
2023.01.12 -
Gradle
빌드 자동화 툴. 라이브러리를 쉽게 관리할 수 있게 해준다 plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' //프로젝트 버전 sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { //라이브러리를 다운로드 하는 곳을 리포지터리라고 함. mavenCentral() //메이븐센트럴 이용 } depende..
2023.01.12