xxx라는 필드에 선언하면 자동으로 getXxx()(boolean 타입인 경우, isXxx()) 생성setXxx() 생성또한, 필드 레벨이 아닌 클래스 레벨에 @Getter 또는 @Setter를 선언해줄 경우, 모든 필드에 접근자와 설정자가 자동으로 생성파라미터가 없는
start.spring.io 에서 프로젝트 생성DB 만들고, 계정 만들어서 권한 넘겨주기src/main/resources/application.propertiesddl-auto : DB Structure의 변동 가능성을 설정하는 옵션이다.none : MySQL의 기본값
필요한 데이터만 설정할 수 있음.유연성을 확보할 수 있음.가독성을 높일 수 있음.불변성을 확보할 수 있음.복합 객체의 생성 과정과 표현 방법을 분리해서 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 한다.Lombok : 프로젝트 롬복은 표준판 코드를 최소화
JPA는 기본적으로 주어진 메서드로 쿼리문을 작성할 수 있게 해준다. 만일 일반 SQL문을 써야하는 경우 Repository에서 @Query문을 사용해 작성해주면 된다.객체 파라미터 사용에 집중하자여러 건의 연산을 수행할 경우 영속성 콘텍스트에 있는 1차 캐시를 사용하
@MappedSuperclass : JPA Entity 클래스들이 BaseTimeEntity을 상속할 경우 필드들(createdTime, lastModifiedTime)도 컬럼으로 인식하도록 합니다.@EntityListeners(AuditingEntityListener
Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. 이것은 HttpHeader와 HttpBody를 포함하는 클래스이다.HttpEntity를 상속받아 구현한 클래스가 RequestEntity , ResponseEntity 이다
단일 책임(SRP)의 원칙 위반의존성이 숨는다.DI Container를 사용한다는 것은 Class가 자신의 의존성만 책임진다는게 아니라 제공된 의존성 또한 책임진다.그래서 Class가 어떤 의존성을 책임지지 않을 때, 메서드나 생성자를 통해(Setter나 Constru
FoodEntity 와 StoreEnttiy 는 N:1 관계로 참조관계에 있다.N:1 관계이지만 FoodEntity를 조회할 때 항상 FoodEntity를 조회하기 위해 쿼리를 날릴 필요는 없다. FoodEntity 조회시 StoreEntity는 HibernatePro
두 Entity 사이를 연결해주는 Relative Entity의 경우 역할이 연결에만 있는 것이 아니기 때문이다. MemberProductMemberProductForeign Key를 설정하는 부분이다. name 옵션은 단순 컬럼의 이름을 지정하는 것이므로 연관 관계와
스프링부트 프로젝트를 하나 생성해준다. Root Module의 settings.gradle 에 include 로 우리가 생성한 모듈들을 선언해준다. Root Module에서는 SRC 폴더가 필요 없으므로 삭제한다. 이후 build.gradle의 계층적 사용을 할 때에
https://balabala.tistory.com/25현재 개발 프로젝트 계층은 다중 모듈 구조입니다.우선 다중 실행 할 프로젝트 파일을 edit configuration에서 선택한다.적용하고 나면 실행 버튼 밑에 초록색 점이 생긴다. 이후부터 해당 프로젝트
프로젝트를 진행하면서 특정 API에서 토큰 만료기간이 긴박하면 토큰을 재발급 해주는 기능을 개발했다. 이때 만료기간이 다다른 토큰이면 ResponseEntity로 새로운 토큰을 포함한 Message를 반환해주고 다다르지 않은 토큰이면 토큰 자리에 null 값을 주어 응