Back-End 179

[React.js, 스프링 부트, AWS로 배우는 웹 개발 101][백엔드 개발] - 컨트롤러 레이어, 서비스 레이어, 퍼시스턴스 레이어

본 포스팅은 'React.js, 스프링 부트, AWS로 배우는 웹 개발 101 - 김다정'님의 책을 보고 작성되었습니다. 목차 1. 컨트롤러 레이어: 스프링 REST API 컨트롤러 2. 서비스 레이어: 비지니스 로직 3. 퍼시스턴스 레이어: 스프링 데이터 JPA 4. 정리 컨트롤러 레이어: 스프링 REST API 컨트롤러 HTTP는 GET/POST/PUT/DELETE/OPTIONS 등과 같은 메서드와 URI를 이용해 서버에 HTTP 요청을 보낼 수 있다. 해당 요청을 받은 서버는 어떤 HTTP 메서드를 이용했는지를 알아야 하고 그 후 해당 리소스의 HTTP 메서드에 연결된 메서드를 실행해야 한다. 스프링부트의 spring web(라이브러리)의 어노테이션을 이용하면 이 연결을 쉽게할 수 있다. @Rest..

[React.js, 스프링 부트, AWS로 배우는 웹 개발 101][백엔드 개발] - 서비스 아키텍처

본 포스팅은 'React.js, 스프링 부트, AWS로 배우는 웹 개발 101 - 김다정'님의 책을 보고 작성되었습니다. 목차 1. 레이어드 아키텍처 2. 모델, Entity, DTO 3. REST API 레이어드 아키텍처 레이어드 아키텍처란? 레이어드 아키텍처 패턴은 스프링 프로젝트 내부에서 어떻게 코드를 적절히 분리하고 관리할 것인지에 대한 것이다. 퍼시스턴스 레이어는 데이터 베이스와 연결하는 부분으로 영속성(데이터를 생성한 프로그램의 종료에도 사라지지 않는 것을 의미한다.)을 가지는 부분이다. 비지니스 레이어는 핵심 비지니스 로직을 진행하는 부분이다. 프레젠테이션 레이어는 Controller를 가지는 부분이다. 데이터베이스 레이어는 DB 관련 부분이다. 레이어드 아키텍처 특징 사용하는 용도에 맞는 ..

[React.js, 스프링 부트, AWS로 배우는 웹 개발 101][백엔드 개발] - 백엔드 개발 환경 설정

본 포스팅은 'React.js, 스프링 부트, AWS로 배우는 웹 개발 101 - 김다정'님의 책을 보고 작성되었습니다. 목차 1. 기본 설정 2. 스프링 프레임워크와 의존성 주입 3. 스프링 프레임워크와 디스패처 서블릿 기본 설정 Build.gradle plugins { id 'org.springframework.boot' version '2.7.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annot..

[JPA][엔티티 매핑] - 엔티티 매핑

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 1. @Entity 2. @Table 3. 다양한 매핑 사용 4. 데이터베이스 스키마 자동 생성 5. DDL 생성 기능 6. 기본 키 매핑 7. 필드와 컬럼 매핑: 레퍼런스 @Entity JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙어야 한다. @Entity가 붙은 클래스의 경우엔 JPA가 관리하는 것으로, 엔티티라고 부른다. @Entity 적용 시 주의사항 기본 생성자는 필수다. 파라미터가 없는 public 또는 protect 생성자 엔티티 객체를 생성할 때 기본 생성자를 사용해서 JPA는 생성하기에 이 생성자는 반드시 있어야 한다. 없다면 기본 생성자를 자동으로 만들어 준다. (..

[Spring MVC2][API 예외처리] - 기본 예외처리, 서블릿 예외처리, 스프링이 지원하는 API 예외처리

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 기본 예외처리 2. 서블릿 예외처리 3. 스프링 예외처리 4. 정상 코드와 예외 처리 코드의 분리 - @ControllerAdvice 기본 예외처리 HTML의 경우엔 오류 페이지만 있다면 대부분의 문제를 스프링 측에서 해결해준다. 그러나 API의 경우엔..

Back-End/Spring 2022.06.02

[Spring MVC2][예외 처리와 오류 페이지] - 스프링이 지원하는 오류 페이지 처리 방식

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 스프링 부트 - 오류페이지 1 2. 스프링 부트 - 오류페이지 2 스프링 부트 - 오류페이지 1 예외처리를 위해서 앞서서는 다음과 같은 복잡한 과정을 거쳤다. 서블릿이 제공하는 예외 발생 시 해당 페이지를 제공해주는 클래스를 생성해야 했다. 예외 종류에..

Back-End/Spring 2022.05.30

[Spring MVC2][예외 처리와 오류 페이지] - 필터와 인터셉터

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 오류 발생 시에 WAS 내부의 재호출 시의 중복 호출 해결 방안 2. 서블릿 예외 처리 - 필터 3. 스프링이 제공하는 기능 - 인터셉터 중복 호출 제거 오류 발생 시에 WAS 내부의 재호출 시의 중복 호출 해결 방안 예외 발생 or response.s..

Back-End/Spring 2022.05.28

[Spring MVC2][예외 처리와 오류 페이지] - 서블릿 예외 처리를 사용해서 오류 화면을 제공해보자

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 서블릿 예외 처리 - 오류 화면 제공 2. 서블릿 예외 처리 - 오류 페이지 작동 원리 3. 서블릿의 예외 처리 - 오류 페이지 작동 원리 정리 서블릿 예외 처리 - 오류 화면 제공 서블릿 컨테이너가 제공하는 기본 예외 처리 화면은 고객 친화적이지 않다..

Back-End/Spring 2022.05.28

[Spring MVC2][예외 처리와 오류 페이지] - 서블릿 예외 처리

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 서블릿 예외처리 방식 2. Exception(예외) 서블릿 예외처리 방식 서블릿은 다음 2가지 방식으로 예외 처리를 지원한다. Exception(예외 발생) 시 처리 지원 response.sendError(HTTP 상태코드, 오류메시지)시 처리 지원 예..

Back-End/Spring 2022.05.28

[JPA][영속성 관리] - CURD로 알아보는 영속성 컨텍스트의 필요성과 이점

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 목차 1. 엔티티 조회 2. 엔티티 등록 3. 엔티티 수정 4. 엔티티 삭제 5. 준영속의 상태 변화 엔티티 CURD를 통해 영속성 컨텍스트가 왜 필요한지 알아보도록 하자 엔티티 조회(READ) 영속성 컨텍스트 내부에 캐시를 가지고 있는데 이것을 1차 캐시라 한다. 영속 상태의 엔티티는 모두 이곳에 저장된다. 키: 식별자 값 / 값: 엔티티 인스턴스 1차 캐시에서 조회 find( )로 호출하면 1차 캐시에서 엔티티를 찾고 없다면 데이터베이스에서 조회한다. 데이터베이스에서 조회 1차 캐시가 없으므로 데이터베이스에서 조회한다. 조회한 데이터로 엔티티를 생성해 1차 캐시에 저장한다(영속 상태가 된다.) 조회한 엔티티를 반..