홍팍님의 스프링 부트, 입문! 이라는 강의 복습 이전 강의들은 개발환경 설정등을 알려주는 강의이므로 패스 개발환경 IDE: IntelliJ Java: 11 Spring Boot: 2.7.5 Graddle Project 의존성 Spring Web Mustache Spring Data JPA H2 Database View Template HTML, ...
MVC의 역할과 실행 흐름 MVC 패턴 하나의 어플리케이션, 프로젝트를 구성할 때 그 구성 요소를 각 담당자 별로 세가지의 역할로 구분한 패턴 웹 서비스는 클라이언트와 서버의 소통을 통해 동작한다. 이 때 스프링 부트는 서버의 역할을 하는데 서버로서의 스프링 부트를 한단계 더 들여다 보면 Model, View ,Controller의 유기적 역할 분담이 ...
뷰 템플릿과 레이아웃 레이아웃이란 화면 배치를 뜻한다. 가장 기본이 되는 레이아웃 : header, footer, content header에는 사이트 안내를 위한 네비게이션이 들어간다. footer에는 사이트 정보 등이 들어간다. content에는 사용자가 볼 핵심 내용이 들어간다. bootstrap을 사용하여 View페이지를 만들어 보았다. b...
폼 데이터 주고 받기(게시판 만들기) CRUD CRUD란 Create, Read, Update, Delete의 줄임말로, 데이터베이스를 사용하기 위한 기초적인 4가지 형식이다. Create로 데이터를 생성하고 Read로 데이터를 읽으며 Update로 새로운 데이터를 업데이트하고 Delete로 데이터를 삭제하는 것이다. 이 CRUD형식은 모든 데이터들을...
저번 강의에서는 브라우저에서 입력 받은 데이터를 컨트롤러로 받아오는 공부를 했다. 요번 강의에서는 받아와진 데이터를 JPA를 사용하여 DB에 저장하는 방법을 공부 할 것이다. JPA JPA란 자바 진영에서 ORM(Object-Relational Mapping)기술 표준으로 사용되는 인터페이스의 모음이다. 그 말은 즉, 실제적으로 구현된 것이 아니라 구...
DB에서 해당 Entity로 설정했던 Article은 테이블로 만들어지고, 이 틀에 맞춰서 데이터가 입력, 조회, 수정 및 업데이트 그리고 삭제로 이루어진다. 데이터의 CRUD 처리는 DB 내에서 SQL이라는 언어를 통해 동작한다. 이번 강의에서는 입력받은 데이터가 DB안에 잘 들어갔는지 확인하는 공부를 할 것이다. H2 DB 설정 src/ma...
롬복을 활용한 리팩터링 롬복(Lombok) 롬복 롬복이란 Java 라이브러리로 반복되는 getter, setter, toString, constructor등 반복 메서드 작성 코드를 줄여주는 라이브러리이다. 로깅 기능을 통해 println 또한 리팩터링 할 수 있다. Refactoring 리팩터링이란, 코드의 구조, 또는 성능을 개선하는 작업이다. 겉...
데이터 조회하기 with JPA 이번 강의에서는 DB에 저장된 데이터를 웹페이지에서 확인해본다. Read 데이터 조회 과정 사용자가 웹페이지를 통해 데이터 요청 요청 URL을 Controller가 받아 받아진 URL에서 찾고자 하는 데이터의 정보를 Repository에게 전달 ![](https://velog.velcdn.com/
데이터 목록 조회 요번 시간에는 데이터 목록을 조회하는 연습을 한다. 모든 데이터 가져오기 >@GetMapping("/articles") /articles라는 주소를 입력 받으면 나오게 하는 매핑 어노테이션이다. > List articleEntityList = articleRepository.findAll(); CrudRepository에 있는 ...
링크와 리다이렉트를 사용하여, 페이지 간 이동을 연결하시오. 이번 강의는 페이지간 자연스러운 이동을 위해 링크와 리다이렉트를 적용해본다. 게시판의 메인 페이지는 글 목록이고 글을 볼수 있는 페이지와 새로 작성하는 페이지로 넘어갈 수 있다. 또 게시글 상세 페이지에서는 수정과 삭제, 새 글 추가 페이지는 데이터 제출을 통해 상세 페이지로 넘어갈 수 있다....
수정 폼 만들기 데이터 변경을 위한 수정 페이지 만들기 Update 게시글 상세 페이지에 수정 버튼 생성 생성된 버튼 클릭시 DB에서 기존 데이터(Entity)를 가져와 모델화 시켜 뷰로 출력 수정한 글을 다시 저장 수정 링크 게시글 상세 페이지(show.mustache)에 수정 링크를 만든다. {{#article}} 목록 바깥에서 id변수를 사...
수정 페이지의 데이터를 DB로 갱신하고, 확인하기 수정 페이지에서 수정된 데이터를 DB에 저장하고, 백업하는 연습을 할 것이다. 수정된 데이터를 DTO로 받은 후에 DB에 저장하고 다시 반환한다. 클라이언트에서 서버로의 데이터 전송은 다양한 프로토콜을 통해 이루어진다. 이 중 웹서비스에서 사용하는 프로토콜은 HTTP이다. 다양한 요청을 GET, PO...
데이터 삭제하기 Delete 과정 삭제 요청이 http를 통해 전달이 된다. Controller가 Repository를 통해 DB속 데이터 삭제(기존에 데이터가 있어야만 함) 삭제 완료 후 결과 페이지로 redirect RedirectAttributes 클래스 redirect가 발생할 시 원래 요청은 끊어지고, 새로운 HTTP 프로토콜 요청이 시작된...
데이터 CRUD 과정의 SQL 쿼리를 분석한다. JPA의 repository를 통해 데이터를 손쉽게 관리 Repository가 요청을 보내면 DB는 자신의 언어 SQL로 작성된 쿼리문을 통해 데이터를 테이블에 관리 JPA의 Repository를 통해 데이터를 손쉽게 관리 했다. Repository가 DB에 요청을 보내면 DB는 자신의 언어 SQL로...
* RestAPI와 JSON* RestAPI 웹서비스를 사용하는 클라이언트는 웹브라우저 뿐만아니라 다양한 기기에서도 사용이된다. 따라서 웹서버는 다양한 클라이언트의 요청에 적절한 응답을 해야한다.(각각의 기기에 따른 뷰 페이지) 모든 기기에 적절한 대응을 하기 위한 서버 설계가 RestAPI이다. RestAPI란 웹서버의 자원을 클라이언트에 구애받지 ...
RestController 와 HTTP 오늘은 ResController를 이용하여 데이터의 CRUD처리를 배워볼 것이다. RestController란 서버와 DB의 데이터 이동을 위해 만들어진 Controller로 일반 Controller는 뷰페이지와 연결이 되지만, RestController는 JSON(데이터)을 반환하는 RestAPI Controll...
서비스 계층과 트랜잭션 오늘은 서비스 계층과 트랜잭션에 대해 알아보았다. Service Service 계층이란 Controller와 Repository 사이에 위치한 계층으로서, 처리업무의 순서를 총괄하는 계층이다. 예를 들어 Controller가 식당의 웨이터라 생각하면 웨이터가 명령을 받아오면 쉐프인 Service가 명령을 동작하고 반환한다. R...
Test 작성하기 Test란 프로그램의 품질 검증을 위한 것으로 우리의 의도대로 프로그램이 동작하는지 확인하는 것이다. 웹 브라우저를 통하여 확인하는 과정을 최소화 시킬 수 있다. 예상 시나리오 작성 실제 코드 결과 와 비교 및 비교 성공시 리팩토링 실패시 디버깅