API와 REST API에 대해 알아본다.
Controller → Service → Repository Client 와 DB 사이를 세 개의 주요 계층으로 분리해 설계한다.
IoC(Inversion of Control) : 제어의 역전 객체의 생성과 관리를 개발자가 직접 제어하는 것이 아닌! 외부 컨테이너나 프레임워크(ex. Spring) 에 의해 제어되도록 하는 것을 의미 즉, 주변 시스템이나 라이브러리를 호출하는 것이 아닌, 프레임워
Controller를 구현해 본다. (@RequestMapping, @GetMapping, @Controller, @RestController, 핸들러 )
Spring Bean의 정의와 등록방법 2가지에 대해 알아본다.
스프링의 3계층을 구현하고 의존성 주입과 흐름이 어떻게 진행되는지 알아본다.
Entity, DTO(Data Transfer Object), VO(Value Object)는 소프트웨어 개발에서 데이터를 다루는 방법들이다. 그럼 이 세개의 차이는 무엇일까?
Domain-Driven Design, 도메인 주도 설계DDD는 도메인을 중심으로 설계하는 접근 방식이다! SQL 중심 설계는 데이터베이스를 중심으로 시스템을 설계한다. 각각의 특징을 알아보고, 이 둘의 차이점을 포스팅한다.
controller 계층에서 setter를 이용해서 변환해본다.
SpringBoot project 구조 (src/main/ directory와 build.gradle 파일)에 대해서 알아본다
스프링부트에서 JPA와 MYSQL을 연동해본다.
MySQL과 스프링부트 연동 을 진행한 후 데이터를 관리하기 위해선(삽입, 삭제, 수정 등..) 데이터베이스와 연동하는 JPA Repository를 만들어야 한다.
크게 설정 할 파일은 1. Controller, 2. template, 3.build.gradle 가 있다.이미 Repository는 만들어져 있다고 가정한다.
Client와 DB 사이 3계층 1) Controller Client로부터 들어오는 요청을 처리하는 역할 요청이 들어오면 서비스 계층에 전달하고, 처리된 결과는 적절한 형태로 변환해 Client한테 돌려 준다. 2) Service 실질적인 비즈니스 로직 일을 하