스프링은 자바 웹 프로그램을 더 쉽고 빠르게 만들기 위한 프레임워크로, 스프링 부트는 새로운 기술이라기보다는 스프링 프레임워크를 개선한 것입니다.개발 환경 설정을 간소화 : 스프링은 버전에 따라 동작하는 외부 라이브러리를 일일이 찾아 연동해야 합니다. 하지만 스프링 부
Model : 데이터를 관리하는 역할View : 화면을 담당 요소로, 모델이 가지고 있는 데이터를 저장하면 안된다!Controller : 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할헤더와 푸터 부분은 모든 웹페이지에 중복되므로 layouts>header.mus
form 태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체(DTO)에 담아 받습니다.DTO 사용DTO는 계층 간 전달에 사용된다. 도메인 모델은 UI에 필요하지 않은 정보까지 가지고 있으므로, 도메인 모델을 캡슐화하여 보호하기 위해 DTO를 사용한다!form 태그에 실
롬복이란 코드를 간소화해주는 라이브러리입니다.롬복을 사용하면 getter(), setter(), constructor(), toString()과 같은 필수 메서드를 간편하게 작성할 수 있고, 로깅 기능을 통해 println()을 개선할 수 있습니다.생성자 코드와 ToS
URL에 article 아이디를 포함하여 article 조회 요청이 들어왔을 때 응답 과정을 살펴보자.PathVariable 이용최근 HTTP API는 리소스 경로에 식별자를 넣는 스타일을 선호한다.(!= GET 메소드의 쿼리 파라미터) @PathVariable(경로
링크는 클라이언트가 어느 페이지로 이동하겠다고 요청하면 서버는 결과 페이지를 응답하는 형식으로 이루어집니다.예) 목록 페이지 <-> 입력 페이지리다이렉트는 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 형식으로 이루어집니다.권한이
게시판에 작성한 글을 수정하려면 다음과 같은 단계를 거쳐야합니다.수정 페이지에서 기존 데이터 불러오기1-1. 상세 페이지에서 수정 버튼을 클릭합니다.1-2. 요청을 받은 컨트롤러는 경로 변수로 들어온 ID를 이용해 DB에서 게시글의 데이터를 가져옵니다.1-3. 컨트롤러
RedirectAttributes 클래스를 사용하여 리다이렉트 시 데이터를 전달할 수 있다.addFlashAttribute() 메서드를 활용하면 리다이렉트 시점에 한 번만 사용할 데이터를 등록 할 수 있다. (alert창)추가로, 상품 상세 화면으로 리다이렉트 시 ad
JPA에서 실행하는 SQL 동작을 보기 위해서는 application.yml 파일에 다음과 같이 작성하면 된다.기본키란 테이블에 저장된 각 데이터를 유일하게 구분할 수 있도록 지정한 속성을 말한다. 보통 id를 기본키로 많이 사용하는데, @GeneratedValue 어
REST API는 서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식이다. 서버에서 보내는 응답은 특정 기기에 종속되지 않도록 화면(view)이 아닌 모든 기기에서 통용될 수 있는 데이터(JSON)을 응답한다.JSON 데이터는 키(Key)와 값(V
REST란, HTTP URL로 서버의 자원(resources)를 명시하고, HTTP 메서드(POST,GET,PATCH/PUT,DELETE)로 해당 자원에 대해 CRUD(생성,조회,수정,삭제)하는 것을 말합니다.API란, 클라이언트가 서버의 자원을 요청할 수 있도록 서버
서비스란, 컨트롤러와 레포지토리 사이에 위치하는 계층으로, 서버의 핵심 기능(비즈니스 로직)을 처리하는 순서를 총괄합니다. 일반적으로 서비스 업무 처리는 트랜잭션 단위로 진행됩니다. 트랜잭션이란, 모두 성공해야 하는 일련의 과정을 뜻합니다. 예를 들어, 식당 예약을 위
테스트 도구를 활용해 코드를 검증한다는 것은 테스트 코드를 작성해 실행한다는 말입니다. 테스트 코드는 보통 다음 3단계로 작성합니다.예상 데이터 작성하기실제 데이터 획득하기예상 데이터와 실제 데이터 비교해 검증하기작성한 코드가 테스트를 통과하면 지속적인 리팩터링으로 코
댓글과 게시글의 관계 객체를 테이블에 맞추어 모델링하면, 댓글 객체에 article_id 외래키 변수를 갖게 된다. 해당 외래키 변수는 게시글 객체의 기본키 변수이다. Comment 엔티티와 Article 엔티티의 관계를 설계하면 다음 그림과 같다. 두 엔티티를 다
앞에서 배웠듯이, 엔티티는 DB 데이터를 담는 자바 객체로, 엔티티를 기반으로 테이블이 생성되게 된다. 댓글 CRUD를 위한 REST API 주소를 다음과 설정했다. GET: /articles/articleId/comments POST: /articles/artic