본문 바로가기

백엔드 학습 과정/Section 3 [Spring MVC, JDBC, JPA, RestDo

(18)
JPA에서 em을 활용한 회원과 주문 정보 저장 및 호출 흐름 @Configuration public class JpaManyToOneUniDirectionConfig { private EntityManager em; private EntityTransaction tx; @Bean public CommandLineRunner testJpaManyToOneRunner(EntityManagerFactory emFactory) { this.em = emFactory.createEntityManager(); this.tx = em.getTransaction(); return args -> { mappingManyToOneUniDirection(); }; } private void mappingManyToOneUniDirection() { tx.begin(); // (1) ..
Spring JPA 기능 코드 목차 1. LocalDateTime 클래스 타입 2. @Enumerated 상태 3. findVerifiedMember for updateMember, findMember, deleteMember Service 메서드 4. verifyExist변수명 for createMember Service메서드 3,4 차이는 어떤 케이스에 예외;를 발생시키느냐 존재하면 발생 존재하지 않으면 발생 가장 큰 차이 : 반환 값이 있다 없다 1. 등록 시간 혹은 수정 시간 타입 = LocalDateTime @Column(nullable = false) private LocalDateTime createdAt = LocalDateTime.now(); // (2) // (3) @Column(nullable = false, na..
Spring Data JDBC - Service 클래스 기능별 코드 목차 1. 이미 존재하는 정보인지 = verifyExistObject // Create 메서드에 활용 2. 이미 등록된 정보인지 = findVerifiedObject // Update, Find, Delete 메서드에 활용 3. 주문된 커피 정보 조회 4. Create 메서드 5. Update 메서드 6. find 메서드 7. find's 메서드 8. delete 메서드 1. 이미 존재하는건지 확인 // verifyExistObject // Create 메서드에 활용 VerifyExistCoffee (coffeeCode) 메서드 private void verifyExistCoffee(String coffeeCode) { Optional coffee = coffeeRepository.findByCoffee..
#4. Spring Data JDBC [Spring Data JDBC] 객체 중심 기술(ORM) 데이터를 SQL 쿼리문 위주로 생각하는 것이 아니라, 모든 데이터를 객체 관점으로 바라보는 기술. DB에 접근하기 위해서 SQL 쿼리문을 직접 작성하기 보다는, 애플리케이션 내부에서 Java 객체를 SQL 쿼리문으로 자동 변환 후 DB에 접근 하는 방식. [Spring Data JDBC 적용 설정 4가지] 1. 의존 라이브러리 추가 - build.gradle 파일에 코드 추가. 2. resources - application.yml에 DB 설정. 3. schema.sql 파일에 필요한 테이블 쿼리문 작성. 4. application.yml에 schema.sql 파일을 읽어서 테이블을 생성할 수 있도록 초기화 설정. [Spring Data JDBC..
#3. Spring 예외 처리 1. Spring 예외 종류 2. 예외 발생 시 동작 순서 3. 예외 처리를 위한 클래스 생성 순서 4. 일반적인 예외 처리 클래스 생성 순서 5. 의도적인 비즈니스 로직 예외 처리 6. 서비스 메서드 발생의 경우 예외 발생시 처리 순서 - 추후 다시 확인 필요 // 구글드라이브에 올려진 be-homework-exception 알집 참고 [Spring 기반 애플리케이션의 예외 종류] 1. 클라이언트 요청 데이터에 대한 유효성 검증 에서 발생하는 예외 2. 서비스 계층의 비즈니스 로직에서 던져지는 의도된 예외 3. 웹 애플리케이션 실행 중에 발생하는 예외 (Runtime Exception) [예외 발생 시 동작 순서] 1. 클라이언트가 DTO 타입의 데이터로 요청 메시지 전송. 2. Controller 클..
#2. Spring MVC [Service 계층] - 역할, 생성, 적용, 필요 애너테이션 클라이언트가 요청 데이터를 서버쪽에 전송하면 웹 애플리케이션에서 [API] 계층이 먼저 전달되고, 요청한 데이터에 비즈니스 로직을 요청하는 계층이 [Service 계층]이다. [클라이언트 요청으로부터 앱 애플리케이션의 흐름] 클라이언트 요청 -> API 계층 - Controller 클래스 -> Service 클래스 비즈니스 로직 -> 결과 값 API 계층 전달 -> 클라이언트 [Service 계층] 애플리케이션의 도메인 업무 영역을 구현하여 '도메인 엔티티 클래스' 타입으로 처리하는 비즈니스 로직이 있는 계층. [Service 클래스 생성] 1. Service 클래스 생성 // @Service 새로운 클래스를 생성하여 Controller 핸들러 메서드 1개당 매칭되는 메서드를 이름만 선언한다. ex) @..
** 참고 ** REST-API https://meetup.toast.com/posts/92 REST API 제대로 알고 사용하기 : NHN Cloud Meetup REST API 제대로 알고 사용하기 meetup.toast.com API는 웹에서 사용되는 Data나 resource를 HTTP URI로 표현하고, 해당 resource를 고유의 URI 로 접근하는 방식. REST API는 REST 방식을 통해 resource에 접근하는 서비스API를 뜻한다. HTTP 프로토콜을 기반으로 요청, 응답을 정의하는 방식.
#1-1. Rest Client [Rest Client] Rest API 서버에 HTTP 요청을 보낼 때 사용하는 ‘클라이언트 툴’ 혹은 ‘클라이언트 라이브러리’ *REST API 웹에서 사용되는 Data나 Resource를 HTTP URI로 표현하고, 해당 resource를 고유의 URI로 접근하는 방식 [RestTemplate] HTTP 클라이언트 라이브러리들 중 하나를 이용해 다른 BackEnd 서버에 HTTP 요청을 보낼 때 간편히 보낼 수 있는 틀이 잡은 요청 가이드라인, Rest Client API. [RestTemplate *사용방법*] 1. RestTemplate 클래스 생성. public class RestClientExample01 { public static void main(String[] args) { // (1..