본문 바로가기
728x90
반응형
SMALL

Spring boot 프로젝트 기록/1. 백엔드 개발11

회원정보 찾기 스프링부트를 자습하면서 궁금한게 생겼었습니다!! 바로 간단한 정보로 기존에 저장되어있는 정보를 가지고 올순 없을까? 물론 가능합니다.!! 그러나 이걸 책이나 강의없이 구현할 수 있느냐, 얼마나 고민을 할수있느냐에 따라 내 기술이 되거나, 복붙러가 되거나 갈라진다고 생각이들었습니다..ㅠㅠㅠ 우선 계획을 세웠습니다. 이메일과 유저이름(패스워드의 경우 반대로)으로 회원정보를 몽땅 가져오자 SQL(리파지토리 단계)은 찾는다, 아이디와 유저이름을 통해 겟방식으로? 포스트방식으로? : 포스트방식으로 호출 입력값들을 UserDTO로 저장해서 처리된것도 UserDTO에 셋팅해서 간단하게 세웠습니다. package com.unoSpringBoot.study.persistence; import org.springframe.. 2021. 12. 10.
서비스 개발(4) - 삭제기능 Todo를 삭제하는 기능을 구현하고자합니당 퍼시스턴스 구현 TodoRepository를 사용한다. 업데이트를 위해 delete(), findByUserId()메서드를 사용한다. 서비스 구현 Delete기능의 구현을 위해 delete메서드를 작성하겠습니다! TodoService클래스에 해당 메서드를 추가해줍시다 public List deleteTodo(final TodoEntity entity) { Validate.checkValidate(entity); try { //엔티티를 삭제한다. todoRepository.delete(entity); } catch (Exception e) { //예외가 발생했을때 아이디와 예외를 로깅한다. log.error("에러발생!!엔티티 삭제할떄 오류가 발생..", enti.. 2021. 11. 28.
서비스 개발(3) - 업데이트 기능 지금의 포스팅은 Todo를 업데이트하는 리포지토리 서비스 컨트롤러 등을 구현한다. 그럼 제일 먼저할것은 서비스클래스에서 해당 기능을 해주는 update에 관련된 메서드를 만들어주는것이다. public List updateTodo(final TodoEntity entity) { // 저장할 엔티티가 유효한지 확인한다. Validate.checkValidate(entity); // 넘겨받은 엔티티 id를 이용해 Todo Entity를 가져온다. 존재하지 않은 엔티티는 업데이트 할 수 없기때문 final Optional original = todoRepository.findById(entity.getId()); original.ifPresent(todo -> { // 반환된 투두엔티티가 존재하면 값을 새 엔티.. 2021. 11. 28.
서비스 개발(2) - 전체리스트보기 이번에는 Todo리스트를 검색하는 리포지터리 서비스를 구현할것이다. Todo에 관한 서비스오브젝트를 관리하는 TodoSO에 위를 추가해준다 @Autowired TodoRetrieveTodoListCO todoRetrieveTodoListCO; @GetMapping public ResponseEntity retrieveTodoList() { return todoRetrieveTodoListCO.TodoRetrieveTodoList(); } 그리고 실제 동작을 할수있는 코드들이 있는 Controller오브젝트 TodoRetrieveTodo ListCO클래스를 만든다. package com.unoSpringBoot.study.Controller; import java.util.List; import java... 2021. 11. 28.
서비스 개발(1) - 글을 추가하는 기능 서비스 개발에 앞서 , 로깅 하는것을 간단하게 익히고가자, 로깅없이 디버깅하는 것은 코와 입을 막고 숨을 쉬는 것과 같다고한다. 시중에는 로그 라이브러리가 많이 나와있지만 그중 SL4J를 사용하겠다. package com.unoSpringBoot.study.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.unoSpringBoot.study.model.TodoEntity; import com.unoSpringBoot.study.persistence.TodoRepository; import lombok.extern.slf4j... 2021. 11. 26.
기본 쿼리와 쿼리 작성 방법 이전 포스팅에서 쿼리를 작성하지않아도 select문을 사용한것처럼 값을 가져왔다. 그럼 기본적인 쿼리가 아닌 쿼리는 어떻게 작성할까? Todo리파지토리 인터페이스에 List findByUserId(String userId); 이렇게 한줄을 추가해주었다. 이 메서드를 작성하면 스프링 데이터JPA가 메서드이름을 파싱해서 SELECT * FROM TodoReository WHERE userId = '{userId}' 와 같은 쿼리를 작성해 실행한다. 메서드이름은 쿼리, 매개변수는 쿼리의 where문에 들어갈 값을 의미한다. 더 복잡한 쿼리는 @Query 어노테이션을 사용해 지정할 수 있다. 그런데 내스타일은아니다.. 2021. 11. 26.
서비스 레이어 : 비즈니스 로직 서비스 레이어는 컨트롤러와 퍼시스턴스 사이에서 비즈니스 로직을 수행하는 역할을 한다. 서비스 레이어는 HTTP와 긴밀히 연관된 컨트롤러에서 분리되어 있고, 또느 데이터 베이스와 긴밀히 연관된 퍼시스턴스와도 분리되어 있다. 따라서 서비스 레이어에서는 우리가 개발하고자 하는 로직에 집중할 수 있다. TOdo 프로젝트를 위한 비즈니스 로직 구현을 위해 service페키지를 생성하고 그 아래에 TodoService를 만들어보자 package com.unoSpringBoot.study.service; import org.springframework.stereotype.Service; @Service public class TodoService { public String testService() { return .. 2021. 11. 24.
매개변수를 넘겨받는 방법 실습을 진행할것이지만 앞으로 매개변수를 넘겨받는 방법에 대해 실습을 통해 알아보고 앞으로 어떻게 적용할지를 위해서 하루는 따로 정리해서 매개변수를 넘겨받는 방법에 대해 공부하려고한다. /test 방식이 아닌 /test/{id} 등으로 URI의 경로로 넘어오는 값을 변수로 받을수있다. @GetMapping("/{id}") public String testControllerWithPathVariables(@PathVariable(required = false) int id) { return "Hello wolrd!! ID = " + id; } 를 입력하고, 포스트맨으로 실행해보자 한글이 깨지고 오류가 발생했다. 여기서 해결하자 2021.11.23 - 스프링부트 한글오류 스프링부트 한글오류 스프링부트 공부하는.. 2021. 11. 23.
백엔드 서비스 아키텍처 말은 거창하게 서비스 아키텍처라고 사용하였다. Model/Entitt와 DTO클래스 Controller, Service, Persistence 클래스 테스팅용 REST API 에 대해 실습을 하면서 설명은 설명을 위주로하는 카테고리에서 하도록 하겠다. 오 프로젝트에서는 모델과 엔티티를 한 클래스에 구현한다. 따라서 모델은 비즈니스 데이터를 담는 역할과 데이터베이스의 테이블과 스키마를 표현하는 두 역할을 한다. 큰 애플리 케이션의 경우 모델과 엔티티를 따로 구현하지만 우리는 규모가 작으므로 합쳐서 구현하는 것이다. 이 모델/엔티티의 이름은 TodoEntity이고, Todo리스트의 한 아이템에 해당한다. TodoEntity를 작성하기에 앞서 model 패키지 com.unoSpringBoot.study.mod.. 2021. 11. 22.
실행, 라이브러리추가, 포스트맨 API추가 1. 애플리케이션 실행 이제 프로젝트를 실행해 보자, 파워셀이나 CMD를 실행해 프로젝트가 있는 디렉터리 경로로 이동하자 입력 예 : cd @@ 이걸로 본인의 그래들 프로젝트가 있는 경로로 간다.. 복붙하면 편하다 그다음 graglew bootRun을 쳐준다. 그럼 삥삥삥 돌아간다. 여담이지만 씨까~~~만 배경에 흰줄 쭉쭉나오고 멋져서 리눅스 공부한다고 책샀는데 바빠서 공부못하구있다... 계쏙 실행되다보면 뜬다. 의심여지없이 허용해주자. 멋진 분구들이 나온다. 기다리다보면 켜진다. 그러나 이걸 매번 cmd나 파워셀로 해야할까? 아니다. IDE에서 돌릴수 있다. 프로그램 익스플로어의 해당 프로젝트 오른쪽으로 누르고 -> run as -> spring boot app으로 실행시켜주자 그럼 콘솔창에 쭉쭉뜬다... 2021. 11. 18.
1. 백엔드 개발 환경설정 이번 글의 핵심은 1. 스프링 부트 프로젝트 설정 2. 빌드 자동화 툴을 이용한 라이브러리 설정 3. 롬복 4. 포스트맨을 이용한 API 테스팅 이렇다. 자바설치 최초 자바를 설치하는 것부터 시작을 하고 이클립스를 설치하는 것까지 해보겠다. 윈도우즈환경에서 개발한다면 윈도우 + r을 눌러 cmd를 실행해주자 그리고 java -version 을 눌러 자바 버전을 확인해 주자 필자는 현재 설치가 되어있어 16.0.1이 나타난다. 설치하지 못한사람들은 이화면이 안뜰것이다. 설치를 해주도록 하자 https://www.oracle.com/java/technologies/downloads/ 해당 사이트에서 다운을 받아보자, 이클립스 설치 https://www.eclipse.org/downloads/ Eclipse .. 2021. 11. 17.
728x90
반응형
LIST