이렇게 의존성 6개를 추가하고 프로젝트를 생성했다. 의존성 Thymeleaf: 서버에서 가공한 데이터를 뷰에 보여주기 위한 템플릿 엔진. Spring Data JPA: JPA를 쉽게 구현하기 위한 모듈 MySQL Driver: MySQL을 사용하려고 추가. H2
상품 엔티티를 만드려면 상품 테이블에 어떤 데이터가 저장되어야 할지 설계해야함 com.shop 아래에 entity 패키지 생성. entity 모아둘 예정 아래와 같이 현재 상품이 판매 중인지 품절 상태인지를 나타내는 enum 타입의 클래스 ItemSellStatus
Spring Data JPA에서는 엔티티 매니저를 직접 이용해 코드를 작성하지 않아도 되는데, 그 대신 Data Access Object 역할을 하는 Repository 인터페이스를 설계해 사용하면 된다!먼저 com.shop 패키지 아래에 repository 패키지를
쿼리 메소드는 스프링 데이터 JPA에서 제공하는 핵심 기능 중 하나. Repository 인터페이스에 간단한 네이밍 룰을 이용해 메소드를 작성하면 원하는 쿼리 작성 가능! 쿼리 메소드 이용시 가장 많이 사용하는 문법으로 find 사용. > find + (엔티티 이름)
그렇다면 여기서 의문점이 생김 조건이 더 많아지면 메소드 이름이 너무나도 길어질텐데.. 이렇게 되면 해석하는게 더 힘들듯. ⇒ 간단한 쿼리를 처리할 때는 유용하지만, 복잡한 쿼리를 다루기엔 ❌ JPQL (Java Persistence Query Language) Sp
@Query 어노테이션에도 단점이 있다. @Query 어노테이션 안에 JPQL 문법으로 문자열을 입력하기 때문에 잘못 입력하면 컴파일 시점에 에러를 발견할 수 없다... 이를 보완하기 위한 방법이 Querydsl Querydsl 정적 타입을 이용해서 SQL과 같은 쿼
서버 사이드 렌더링 방식 미리 정의된 템플릿을 만들고, 동적으로 HTML 페이지를 만들어 클라이언트에 전달하는 방식. 요청이 올 때마다 서버에서 새로운 HTML 페이지를 만들어 주기 때문에 서버 사이드 렌더링 방식이라고 한다. Thymeleaf > natural te
Spring Boot Devtools 애플리케이션 개발 시 유용한 기능을 제공하는 모듈 대표적인 기능 Automatic Restart: classpath에 있는 파일이 변경될 때마다 애플리케이션을 자동으로 재시작해 준다. 개발자가 소스 수정 후 애플리케이션을 재실행하는
Thymeleaf 사용법을 알아보기 위해 예제를 진행해보자. 서버에서 가공한 데이터를 뷰 쪽에 전달해 해당 데이터를 출력하는 예제, 서버로 데이터를 전송하는 예제 등을 다뤄보자 th:text com.shop 아래에 dto 패키지 생성 후 뷰 영역에서 사용할 ItemD
웹사이트를 만들 때 header, footer, menu 등 공통적인 페이지 구성 요소들이 있다. Thymeleaf의 페이지 레이아웃 기능을 사용해 공통 요소 관리를 해보자. Thymeleaf Layout Dialect 하나의 레이아웃을 여러 페이지에 똑같이 적용 가
스프링 시큐리티 > Spring 기반 애플리케이션의 보안(인증과 인가 등)을 담당하는 스프링 하위 프레임워크 인증과 인가 인증 (Authentication): 해당 리소스에 대해 작업을 수행할 수 있는 주체인지 확인 인가 (Authorization): 인증된 사용자가
1. 회원 역할 구분 > 일반 유저인지, 관리자인지 구분 com.shop.constant.Role.java 2. 가입정보 DTO com.shop.dto.MemberFormDto.java 3. Member 엔티티 com.shop.entity.Item.java 4.