0. Controller Controller는 클라이언트로부터 들어온 요청을 알맞은 Service로 연결하고 응답을 보내주는 역할을 한다. 다음은 Get, Post, Put, Delete 방식을 사용한 RestController이다. package com.web.springtest00.product.controller; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; impor..
0. Service Service는 웹 어플리케이션에서 비즈니스 로직을 처리하는 영역이다. Controller에서 클라이언트로부터 들어온 요청에 대해 처리한 Service를 선택한다. 그리고 Service에서는 요청 데이터를 처리한 후 DAO로 보내 DB와 작업을 수행하도록 한다. 1. ProductService package com.web.springtest00.product.service; import com.web.springtest00.data.dto.ProductDto; import com.web.springtest00.data.dto.ProductResponseDto; public interface ProductService { ProductResponseDto getProduct(Long n..
0. DAO DAO는 Data Access Object라는 뜻으로, DB와 데이터를 연결하기 위한 클래스이다. Service에서 비즈니스 로직을 처리한 후 DAO에서 데이터를 받아 Repository를 통해 DB에 작업을 수행한다. 1. ProductDAO package com.web.springtest00.data.dao; import com.web.springtest03.data.entity.Product; public interface ProductDAO { Product insertProduct(Product prodcut); Product selectProduct(Long number); Product updateProductName(Long number, String name) throws E..
0. DTO DTO는 Data Transfer Object란 뜻으로, 이름 그대로 데이터를 전송하기 위한 객체이다. 데이터 전송을 위한 그릇이다보니 아주 단순한 형태를 가지고 있다. 아래의 DTO는 멤버변수만 가지고 있다. getter/setter는 Lomok이 대신 생성(@Data)해주고 있으므로 따로 작성할 필요는 없다. package com.web.springtest00.data.dto; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class ProductDto { private String nam..
0. JpaRepository JpaRepository는 DB와 연동하여 작업을 수행하는데 필요한 기본적인 CRUD 메서드들을 포함하고 있다. 이전에 배웠던 Mybatis와 비교하자면 mapper XML과 비슷한 역할을 하되, 좀 더 추상적인 형태를 가지면서 간단하게 사용할 수 있는 매퍼라고 할 수 있다. CRUD에 필요한 기본적인 내용은 미리 준비되어 있으므로 JpaRepository를 상속한 Interface를 생성하면 된다. 여기서 JpaRepository의 제너릭은 이므로 그에 맞추어 작성하면 된다. package com.web.springtest00.data.repository; import org.springframework.data.jpa.repository.JpaRepository; imp..
0. MariaDB - JPA 매핑을 위한 엔티티 MariaDB와 Spring Boot를 연동하기 위해 Spring Data JPA를 사용한다. 여기서 Entity는 스키마를 정의하고 DB와 연동하기 위해 사용한다. package com.web.springtest00.data.entity; import java.time.LocalDateTime; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.T..
0. 확장 프로그램 설치 스프링 Spring Boot Dashboard Spring Boot Extension Pack Spring Boot Tools Spring Initializr Java Support 자바, 기타 등 Korean Language Pack for Visual Studio Code Language Support for Java(TM) by Red Hat Extension Pack for Java Debugger for Java Lombok Annotations Support for VS Code Maven for Java Project Manager for Java Test Runner for Java 1. Spring Initializr을 사용한 Spring Boot 프로젝트 생성 ..