Spring/웹 개발 101
-
2.2.6 퍼시스턴스 레이어 : 스프링 데이터 JPASpring/웹 개발 101 2022. 4. 11. 01:09
◎ DBC 드라이버 : 자바에서 데이터베이스에 연결할 수 있도록 도와주는 라이브러리 * 테이블 생성, 테이블에 엔트리 추가, 수정, 삭제 등이 웹서비스의 일부로 동작할 수 있기 도와주는 중간매개체 ◎ ORM : 데이터베이스 연결 / SQL쿼리 준비 / 쿼리 실행과 같은 일련의 작업을 뜻함 ◎DAO(Data Access Object) : ORM 작업을 집중적으로 도와주는 클래스 ◎JPA : 자바에서 데이터베이스 접근, 저장, 관리에 필요한 스펙(Specification) implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // 스프링 데이터 JPA를 사용하기 위한 라이브러 package com.example.demo.model; i..
-
2.2.5 서비스 레이어 : 비즈니스 로직Spring/웹 개발 101 2022. 4. 10. 00:20
서비스 레이어 : 컨트롤러와 퍼시스턴스 사이에서 비즈니스 로직을 수행하는 역할 @service 어노테이션 : 스프링 컴포넌트이며 기능적으로 비즈니스 로직을 수행하는 서비스 레이어임을 알려주는 어노테이션 * @Component와 기능적으로는 크게 차이가 없다. package com.example.demo.service; import org.springframework.stereotype.Service; @Service public class TodoService { public String testService() { return "Test Service"; } } package com.example.demo.controller; import org.springframework.web.bind.annota..
-
2.2.4 매개변수를 넘겨받는 방법Spring/웹 개발 101 2022. 4. 8. 01:17
@PathVariable 을 사용하면 됩니다. package com.example.demo.controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("test") //resource public class TestController { @GetMapp..
-
2.2.3 REST API || 2.2.4 컨트롤러 레이어Spring/웹 개발 101 2022. 4. 7. 00:10
REST는 'Representational State Transfer' 의 약자로 아키텍쳐 스타일을 뜻합니다. * 아키텍쳐 스타일 : 아키텍쳐 디자인 *아키텍쳐 패턴 : 반복되는 문제 상황을 해결하는 도구 REST 제약조건 클라이언트-서버 상태가 없는 캐시되는 데이터 일관적인 인터페이스 레이어 시스템 코드-온-디맨드 *리소스란 REST API가 리턴할 수 있는 모든 것을 의미합니다. EX ) HTML , JSON, IMAGE HTTP는 get/post/put/delete/options 등과 같은 메서드와 URI를 이용해 서버에 HTTP 요청을 보낼 수 있다. GET /test HTTP/1.1 Host: localhost:8080 Content-Type: application/json Content_Len..
-
2.2.2 모델, 엔티티, DTOSpring/웹 개발 101 2022. 4. 4. 16:20
서비스를 구성하는 클래스에는 일을 하는 클래스, 데이터를 담는 클래스등이 있다. 이러한 클래스들을 기능에 따라 엔티티, 모델, DTO등으로 부른다. 무엇을 위한 클래스인지를 파악하는 것이 중요하다. 모델과 엔티티를 구성하는 클래스를 구성해보았다. 위치 : com.example.demo.model 패키지 이름 : TodoEntity.java package com.example.demo.model; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @Data @NoArgsConstructor public clas..
-
2.2 백엔드 서비스 아키텍쳐Spring/웹 개발 101 2022. 4. 3. 14:50
레이어드 아키텍처 패턴 : 스프링 프로젝트 내부에서 어떻게 코드를 적절히 분리하고 관리할 것인지에 대한 것. REST 아키텍처 스타일 : 클라이언트(브라우저)가 우리 서비스를 이용하려면 어떤 형식으로 요청을 보내고 응답을 받는지에 대한 것. Restful 서비스 : 클라이언트는 몇 개의 정해진 method로 우리 서비스를 이용하며 rest 아키텍처에 따라 설계 및 구현된 서비스를 총칭함. 웹서비스 작동프로세스 컨트롤러가 요청 받음 컨트로러는 서비스에게 요청함 서비스는 퍼시스턴스를 요청함 퍼시스턴스는 요청한 데이터를 반환함 서비스는 데이터를 검토 및 가공한 후 컨트롤러에게 반환함 컨트롤러 또한 데이터를 검토 및 가공한 후 응답을 반환함 => 전통적인 회사의 운영방식과 비슷 => 부장이 요청받으면 말단 사원..