728x90 반응형 springboot11 [Rest API] Spring JPA를 통한 CRUD 구현하기_SpringBoot 💡 PURPOSE 개인 프로젝트를 진행하려고 했으나 스스로 생각하기에 아직 api 작성에 대해 많이 부족한 것 같아 어디서부터 시작해야할 지 모르겠어서 일단 jpa에 대한 기초적인 지식을 쌓기 위해 공부한 것을 복습할 겸 포스팅해보겠다. 💡 STUDY LIST # Subject 2 : Spring JPA를 통한 CRUD 구현하기 1. 사용자 인증 (31~35) 2. 사용자 인증 (2) (36~42) 3. 사용자 인증 토큰 발행 (43~47) 4. 사용자 관리 (48~55) 5.사용자 관리 (2) 통계 (56~60) 💡 CONTENTS (31) 사용자 등록시 입력값이 유효하지 않은 경우 예외를 발생시키는 기능 입력값 이메일(ID), 이름, 비밀번호, 연락처 사용자 정의 에러 모델을 이용하여 에러를 리턴 /.. 2023. 10. 25. [Rest API] 컨트롤러를 통한 게시판 기능 구현하기_SpringBoot 💡 PURPOSE 개인 프로젝트를 진행하려고 했으나 스스로 생각하기에 아직 api 작성에 대해 많이 부족한 것 같아 어디서부터 시작해야할 지 모르겠어서 일단 jpa에 대한 기초적인 지식을 쌓기 위해 공부한 것을 복습할 겸 포스팅해보겠다. 💡 STUDY LIST # Subject 1 : 컨트롤러를 통한 게시판 기능 구현하기 1. 주소요청에 대한 이해 2. 게시판 기본 목록 (6~10) 3. 게시글 작성 (11~15) 4.게시글 수정 (16~20) 5.게시글 삭제 (21~25) 6.게시판 추가기능 (26~30) 💡 CONTENTS (6) 공지사항 게시판의 목록에 대한 요청 처리 API 형식 : REST API HTTP METHOD : GET 요청 주소 : "/api/notice" return : 문자열 "공.. 2023. 10. 25. [Book Study] 스프링 부트 핵심 가이드 - 9. 연관관계 매핑 [Book Study] 스프링 부트 핵심 가이드 9. 연관관계 매핑 9 - 1 . 연관관계 매핑 종류와 방향 연관관계 매핑 종류 - One To One 일대일 (1:1) - One To Many 일대다(1:N) - Many To One 다대일 (N:1) - Many To Many 다대다 (N:N) 단방향과 양방향 - 단방향 : 두 엔티티의 관계에서 한쪽의 엔티티만 참조하는 형식 - 양방향 : 두 엔티티의 관계에서 각 엔티티가 서로의 엔티티를 참조하는 형식 2023. 9. 25. [Book Study] 스프링 부트 핵심 가이드 - 8. Spring Data JPA [Book Study] 스프링 부트 핵심 가이드 8. Spring Data JPA 활용 8 - 1 . 쿼리 메서드 쿼리 메서드의 생성 - 크게 동작을 결정하는 주제와 서술어로 구분 - 'find...By', 'exists...By'와 같은 키워드로 쿼리의 주제 정함 - 'By'는 서술어의 시작을 나타내는 구분자의 역할 리포지토리의 쿼리의 구조 리턴타입 + {주제 + 서술어(속성)} ex) 쿼리 메서드의 주제 키워드 - find...By - read...By - get...By - query...By - search...By - stream...By 리턴타입으로 Collection이나 Stream에 속한 하위 타입을 설정 가능 exists...By - 특정 데이터가 존재하는지 확인하는 키워드, 리턴 타입으.. 2023. 9. 15. [Book Study] 스프링 부트 핵심 가이드 - 6. 데이터베이스 연동 [Book Study] 스프링 부트 핵심 가이드 6. 데이터베이스 연동 6 - 1 MariaDB 설치 6 - 2 ORM ORM (Object Relational Mapping) - 객체와 RDB의 테이블을 자동으로 매핑하는 방법 - 클래스는 데이터베이스의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB테이블과 어쩔수 없는 불일치 존재 - ORM은 이 둘의 불일치와 제약사항을 해결하는 역할 ORM의 장점 1. ORM을 사용하면서 데이터베이스 쿼리를 객체지향적으로 조작할 수 있다. 2. 재사용 및 유지보수가 편리하다. 3. 데이터베이스에 대한 종속성이 줄어든다. ORM의 단점 1. ORM만으로 온전한 서비스를 구현하기에는 한계가 있다. 2. 애플리케이션의 객체 관점과 데이터베이스의 관계 관점의 불.. 2023. 9. 9. 스프링 Swagger 오류 해결 - Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException 오류 발생 Spring boot에서 swagger를 사용하려고 build.gradle에 다음을 추가해줬다 dependencies { implementation 'io.springfox:springfox-swagger2:2.9.2' implementation 'io.springfox:springfox-swagger-ui:2.9.2' } 그런데 서버를 실행하니 발생하는 오류 Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException [전문] Error starting ApplicationContext. To display the conditions report re-run y.. 2023. 9. 2. [Book Study] 스프링 부트 핵심 가이드 - 5. API를 작성하는 다양한 방법 [Book Study] 스프링 부트 핵심 가이드 5. API를 작성하는 다양한 방법 5 - 1 프로젝트 설정 5 - 2 GET API 만들기 1. @RequestMapping으로 구현하기 package com.springboot.api.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/v1/get-api") public class Ge.. 2023. 8. 30. [Book Study] 스프링 부트 핵심 가이드 - 4. 스프링 부트 애플리케이션 개발하기 [Book Study] 스프링 부트 핵심 가이드 4. 스프링 부트 애플리케이션 개발하기 4 - 1 프로젝트 생성 인텔리제이 IDEA에서 프로젝트 생성하기 Name : 프로젝트 이름 Location : 프로젝트를 생성할 위치 Language : JVM (Java Virtual Machine) 상에서 동작하는 언어 Type : 빌드 툴을 선택 Group : 프로젝트를 정의하는 식별자 정보인 그룹을 설정 Artifact : 세부 프로젝트를 식별하는 정보를 기입 Package name : Group과 Artifact를 설정하면 자동으로 입력 Project SDK : 주로 자바와 같은 버전을 선택 Java : 자바 버전 (Spring boot 버전에서 작동이 안 되는 자바 버전이 있을 수 있다) Packaging.. 2023. 8. 30. [Book Study] 스프링 부트 핵심 가이드 - 3. 개발 환경 구성 [Book Study] 스프링 부트 핵심 가이드 3. 개발 환경 구성 3 - 1 자바 JDK 설치 자바(Java)는 기본적으로 개발 도구인 JDK(Java Development Kit)와 실행 환경인 JRE(Java Runtime Environment)로 구성 JVM(Java Virtual Machine)은 이들의 핵심 구성 요소 중 하나 ▶ JDK (Java Development Kit) 자바 개발자가 자바 애플리케이션을 개발하는 데 사용되는 도구 모음 자바 컴파일러를 비롯하여 다양한 개발 도구와 라이브러리, 디버깅 도구 등이 포함되어 있습니다. 주요 구성 요소 : 자바 컴파일러(javac), 자바 실행기(java), 자바 문서 생성기(javadoc) 등 JDK를 사용하면 소스 코드를 컴파일하여 실행 .. 2023. 8. 22. [Book Study] 스프링 부트 핵심 가이드 - 2. 개발에 앞서 알면 좋은 기초 지식 [Book Study] 스프링 부트 핵심 가이드 2. 개발에 앞서 알면 좋은 기초 지식 2 - 1 서버 간 통산 ▶ 마이크로 서비스 아키텍처(MSA: Microservice Architecture) 2 - 2 스프링 부트의 동작 방식 ▶ 스프링 부트의 동작 방식 기본적으로 톰캣을 사용하는 스프링 MVC 구조를 기반으로 동작 서블릿은 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기를 관리 서블릿 객체는 싱글톤 패턴으로 관리 멀티 스레딩을 지원 2 - 3 레이어드 아키텍처 애플리케이션의 컴포넌트를 유사 관심사 기준으로 레이어를 묶어 수평적으로 구성한 구조 프레젠테이션 계층 상황에 따라 유저 인터페이스 계층이라고도 함 클라이언트와.. 2023. 8. 22. [Book Study] 스프링 부트 핵심 가이드 - 1. 스프링 부트란? [Book Study] 스프링 부트 핵심 가이드 1. 스프링 부트란? 1 - 1 스프링 프레임워크 ▶ 제어 역전 (IoC : Inversion of Control) 사용할 객체를 직접 생성하지 않고 객체의 생명 주기를 스프링 컨테이너 또는 IoC 컨테이너에 위임 제어 역전 : 객체의 관리를 컨테이너에 맡겨 제어권이 넘어간 것 제어 역전을 통해 의존성 주입(DI: Dependency Injection), 관점 지향 프로그래밍(AOP: Aspect-Oriented Programming) 등이 가능 ▶ 의존성 주입 (DI : Dependency Injection) 사용할 객체를 직접 생성하지 않고 외부 컨테이너가 생성한 객체를 주입받아 사용하는 방식 의존성을 주입받는 방법 세 가지 생성자를 통한 의존성 주입 .. 2023. 8. 22. 이전 1 다음 728x90 반응형