BACKEND(14)
-
[honey tip] recommend blog for lombok & builder pattern
참고자료 Lombok 활용법 [Java] Lombok이란? 및 Lombok 활용법 - MangKyu's Diary (tistory.com) [Java] Lombok이란? 및 Lombok 활용법 Java 언어를 이용해 개발을 하다 보면 기계적으로 작성해야 하는 코드들이 상당히 많다. 이번에는 기계적인 코드 작성을 자동화하여 코드 다이어트를 해주는 Java 필수 라이브러리 Lombok에 대해 알 mangkyu.tistory.com Builder pattern을 사용해야 하는 이유 [Java] 빌더 패턴(Builder Pattern)을 사용해야 하는 이유 - MangKyu's Diary (tistory.com) [Java] 빌더 패턴(Builder Pattern)을 사용해야 하는 이유 객체를 생성하기 위해서는..
2022.11.30 -
[trouble shooting] wrong value with @AllArgsConstructor & @RequiredArgsConstructor
문제 원하는 필드에 원하는 값이 들어오지 않음. 해결 파라미터의 순서가 중요. 설명 @AllArgsConstructor : 객체 내부의 인스턴스 멤버들을 모두 가지는 생성자를 생성 @RequiredArgsConstructor : 객체 내부의 final, @Notnull이 붙은 인스턴스 멤버들을 가지고 있는 생성자를 생성 두 어노테이션은 인스턴스 멤버의 순서가 중요하다. 인스턴스 멤버의 순서가 생성자의 파라미터의 순서와 동일하기 때문이다. 아래 클래스에 대해 자동으로 firstName, lastName 순서로 인자를 받는 생성자가 만들어지므로 파라미터도 필드 선언 순서에 맞게 써야한다. LombokTest lombokTest = new LombokTest("harry", "lee"); 근데 만약 인스턴스 ..
2022.11.30 -
[trouble shooting] createdAt, modifiedAt null
문제 createdAt, modifiedAt 컬럼의 반환값이 null. 해결 RootClass 최상단에 @EnableJpaAuditing 추가. 설명 Spring Data JPA가 제공하는 Audit 기능은 주로 DB값을 변경했을 때 누가, 언제 값을 변경했는지 audit(감사)하는 용도로 사용한다. Spring Data JPA는 @CreatedDate, @LastModifiedDate, @CreatedBy, @LastModifiedBy 등의 어노테이션을 제공한다. 필요한 Entity에 @EntityListeners선언 후 AuditingEntityListener 클래스를 등록하고 Audit할 날짜 필드에 @CreatedDate, @LastModifiedDate를 붙여 정의하면 자동적으로 날짜 필드에 v..
2022.11.29 -
[trouble shooting] org.springframework.beans.factory.support.BeanDefinitionOverrideException
문제 어디서 터졌는지 모름... 해결 application.properties 파일에 아래 코드를 추가한다. spring.main.allow-bean-definition-overriding=true 설명 Spring Boot 2.1.0에는 Spring 5.1.0 Framework가 반영된다. Spring Boot 2.1 이전 버전에서는 Bean의 Overriding이 허용되었으나 Spring 5.1.0 Framework는 컴포넌트 탐색 과정에서 발생하는 오버헤드를 감소시키기 위해 여러가지 정책을 실시했는데 그 중 하나가 생성한 빈을 덮어쓰는 상황을 강제적으로 제한하는 것이다. 그래서 빈 등록에 동일한 이름을 사용한다면 BeanDefinitionOverrideException이 발생한다. 이것은 Sprin..
2022.11.28