728x90 반응형 SMALL 스프링부트26 리액트로 간단한 컴포넌트 만들어보기 첫번째로 Todo 컴포넌트를 만들어볼것이다. 간단한 체크박스와 라벨을 랜더링하는 컴포넌트다. src디렉터리 아래에 Todo.js파일을 생성하자 저는 따로 js파일을들을 모아주기위한 js 폴더를 만들었어요! import React from 'react'; class Todo extends React.Component{ render(){ return ( Todo 컴포넌트 테스트 ); } } export default Todo; 현재 인덱스.js는 app컴포넌트가 렌더링 되고있다. 따라서 Todo컴포넌트를 화면에 출력하려면 App컴포넌트의 render함수에 Todo컴포넌트를 추가해야한다. import logo from './logo.svg'; import './App.css'; import Todo from .. 2021. 11. 30. 서비스 개발(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. 서비스 개발(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. 스프링부트 한글오류 스프링부트 공부하는 도중 한글을 파라미터로 넘겼을때 한글이 깨지는 현상이 일어났다. 해결해보자 .아마도 스프링부트의 UTF가 설정이 안되어있는것이다. 일반적인 스프링웹에서는 톰캣쪽 서버를 만지작거렸는데 이번엔 다르니 포스팅을 남겼다. 다음에 이런 실수나 문제가 발생하면 당황하지맙시당> 2021. 11. 23. REST API REST는 Respesentational State Transfer의 약자로 아키텍처 스타일이다. 아키텍처 스타일은 아키텍처 패턴과는 조금 다르다. 아키텍처 패턴은 어떤 반복되는 문제 상황을 해결하는 도구고, 아키텍처 스타일은 반복되는 아키텍처 디자인을 의미한다. REST아키텍처 스타일은 6가지 제약조건으로 구성된다. 이 가이드 라인을 따르는 API를 RESTful API라고 한다. REST 제약조건 클라이언트-서버 상태가 없음 캐시되는 데이터 일관적인 인터페이스 레이어 시스템 코드-온-디맨드(선택사항) 클라이언트 - 서버 클라이언트 - 서버라는 것은 리소스를 관리하는 서버가 존재하고, 다수의 클라이언트가 리소스를 소비하려고 네티워크를 통해 서버에 접근하는 구조를 의미한다. 이런 구조 중 우리에게 가장 .. 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. 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. 이전 1 2 3 다음 728x90 반응형 LIST