전체 글 267

[Spring boot] ORM

ORM이란?Object Relational Mapping의 줄임말로 객체 관계 매핑을 의미자바와 같은 객체지향 언어에서 의미하는 객체와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법 즉, 클래스를 의미클래스 → DB의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB 테이블과 어쩔 수 없는 불일치 발생ORM은 DB와 클래스 불일치 제약사항을 해결하는 역할 ORM → 쿼리문 작성이 아닌 코드(메서드)로 데이터 조작 가능ORM 장점ORM 사용 시 DB 쿼리를 객체지향적으로 조작 가능재사용 및 유지보수 편리DB에 대한 종속성 줄어든다ORM 단점ORM만으로 온전한 서비스를 구현하기에는 한계가 있다.애플리케이션의 객체 관점과 데이터베이스이 관계 관점의 불일치

[Spring boot] 로깅 라이브러리 - Logback

로깅(logging)이란 애플리케이션이 동작하는 동안 시스템의 상태나 동작 정보를 시간 순으로 기록하는 것을 의미로깅은 개발 영역 중 → 비기능 요구사항에 속함사용자나 고객에게 필요한 기능은 아니라는 의미하지만 로깅은 디버깅하거나 개발 이후 발생한 문제를 해결할 때 원인을 분석하는데 꼭 필요한 요소자바 진영에서 가장 많이 사용되는 로깅 프레임워크Logbacklog4j 이후에 출시된 로깅 프레임워크로서 slf4j를 기반으로 구현됐으며, 과거에 사용되던 log4j에 비해 월등한 성능을 자랑spirng-boot-starter-web 라이브러리 내부에 내장돼 있어 별도의 의존성을 추가하지 않아도 사용할 수 있다.Logback 특징5개의 레벨 로그(TRACE, DEBUG, INFO, WARN, ERROR)ERRO..

[Spring boot] REST API 명세 문서화

API 개발 과정에서 계속 변경되므로 작성한 명세 문서도 주기적인 업데이트 필요Swagger라는 오픈소스 프로젝트를 넣어보자Swaggerpom.xml 파일 의존성 추가 org.springdoc springdoc-openapi-starter-webmvc-ui 2.6.0 config 폴더 만들어서 SwaggerConfiguration 넣기import io.swagger.v3.oas.models.Components;import io.swagger.v3.oas.models.OpenAPI;import io.swagger.v3.oas.models.info.Info;import org.springframework.context.annotation.Bean;import org.springframewor..

[Spring boot] POST API 만들기

@RequestMapping 구현POST API는 DB 등이 저장소에 리소스를 저장할 때 사용되는 APIGET API에서는 URL의 경로나 파라미터에 변수를 넣어 요청을 보냈지만 POST API에서는 저장하고자 하는 리소스나 값을 HTTP body에 담아 서버에 전달import com.springboot.api.dto.MemberDto;import java.util.Map;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import o..

[Spring boot] GET API 만들기

https://start.spring.io/여기서 Spring boot 간단하게 시작 @RequestMapping 구현import org.springframework.web.bind.annotation.RequestMapping;@RestController@RequestMapping("/api/v1/get-api")public class GetController { }RequestMapping 애너테이션을 별다른 설정 없이 선언하면 HTTP의 모든 요청을 받는다.그러나 GET 형식의 요청만 받기 위해서 애너테이션에 별도 설정이 필요import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.we..