본문 바로가기

Java147

[해결 방법] org.springframework.validation.BindException: 🟦 기본 환경: IDE: IntelliJ, Language: Java 발생 Error SpringBoot에서 다음 Source Code를 실행할 경우, 이름을 입력하지 않고 submit 버튼 클릭 시, 🚨다음과 같은 Error 발생 org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'memberForm' on field 'name': rejected value []; codes [NotEmpty.memberForm.name,NotEmpty.name,NotEmpty.java.lang.String,NotEmpty]; a.. 2023. 5. 27.
[SpringBoot_JPA_1] StringUtils.hasText() 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java 1. isEmpty() - Java6부터 사용 가능 - String의 길이로 T/F 판단 2. isBlanck() - Java11부터 사용 가능 - 빈칸도 Blank로 인식 3. StringUtils.haxText() - Check whether the given String contains actual text - Null값이라도 실제 text가 없을 경우, false 반환 - Spring FrameWork에서 제공 참고 자료 StringUtils (Spring Framework 6.0.9 API) hasText Check .. 2023. 5. 27.
[SpringBoot_JPA_1] create Private Method 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java Class 내에서 일정한 로직이 반복이 될 때 메서드를 생성하여 호출함으로써 코드의 중복을 줄임 기존 ❌ 상품주문, 상품주문_재고수량초과 메서드에서 코드의 중복 발생 변경 ⭕ private method 생성 및 호출 (+ IntelliJ 단축키: ctrl + alt + m) ❌ setter 값 변경 불가 → 매개변수 활용 변경2 ⭕ 매개변수를 활용하여 setter값 변경 가능 (+ IntelliJ 단축키: ctrl + alt + p) 2023. 5. 27.
[해결 방법] Unable to create requested service 🟦 기본 환경: IDE: IntelliJ, Language: Java 발생 Error SpringBoot에서 다음 Source Code를 실행할 경우, 🚨다음과 같은 Error 발생 nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service 발생 원인 H2 DB를 실행하지 않고 Test 진행 해결 방법 H2 DB를 실행 1. cmd 상 h2 DB가 설치된 위치로 이동 후, h2.sh 또는 h2.bat 실행 2. H2 콘솔 페이지 로드 시, 연결 버튼 클릭 참고 자료 Unable to create requested service [org.hibernate.engine.jdbc.env.spi.. 2023. 5. 25.
[SpringBoot_JPA_1] Injection 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java 1. Field Injection ❌ Test case 주입이 어려움 2. Setter Injection ⭕ Test case 주입 가능 ❌ memberRepository가 제약없이 변경 가능 3. Constructor Injection ⭕ Test case 주입 가능 ⭕ memberRepository 변경의 제약(생성자 1회만 호출) ⭕ Test case가 반드시 주입될 수 있도록 함 4. Lombok: @AllArgsConstructor ⭕ 모든 필드에 대해 생성자 생성 5. Lombok: @RequiredArgsConst.. 2023. 5. 25.
[SpringBoot_JPA_1] Cascade Type 이 글은 김영한의 [실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발]을 수강하며 정리한 글입니다. 🟦 기본 환경: IDE: IntelliJ, Language: Java Cascade: 영속성 전이 : 상위 Entity 영속화 → 하위 Entity 영속화, 상위 Entity 삭제 → 하위 Entity 등 특정 Entity를 영속 상태로 만들 경우, 연관 Entity도 함께 영속상태로 전이되는 것 Cascade 종류 1. Cascade.ALL : 상위 Entity에서 일어나는 모든 Cascade에 대하여 하위 Entity로 전이 2. Cascade.PERSIST : 상위 Entity 저장 시, 하위 Entity 저장 3. Cascade.MERGE : 상위 Entity 상태 병합 시, 하위 Ent.. 2023. 5. 25.