스프링 부트와 JPA 활용1 - 프로젝트 환경설정 2

JOY·2022년 2월 9일
0
post-thumbnail

📌 스프링 부트와 JPA 활용1 - 프로젝트 환경설정 2

인프런 - 스프링 부트와 JPA 활용1 by 김영한 을 기반으로 작성된 글입니다.
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발


프로젝트 환경설정 목차

1. 프로젝트 생성

2. 라이브러리 살펴보기

3. View 환경설정

4. H2 데이터베이스 설치

5. JPA와 DB 설정, 동작 확인


프로젝트 환경설정

1. 프로젝트 생성

3) Lombok 적용

  • Preferences → plugin → lombok 검색 실행 후 Restart

  • Preferences → Build → Compiler → Annotation Processors → Enable annotation processing 체크 후 Restart

  • 임의 클래스 만들고 Getter, Setter 확인

public class Hello {
    private String data;

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }
}

Lombok 사용시 위의 코드를 @Getter, @Setter 어노테이션을 통해 자동 생성
→ 코드를 줄일 수 있다는 장점을 가지고 있다!

import lombok.Getter;
import lombok.Setter;

@Getter @Setter
public class Hello {
    private String data;

}

입력한 데이터가 제대로 출력 됨
그러나 발생한 오류 1, 2 ( 게시글 하단에 해결 방안 제시 )




❗ 오류 1

Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
Xverify:none 및 -noverify는 JDK13에서 더 이상 사용되지 않습니다.

혹시 Java Version 차이 문제 일까?
1. Gradle 설정 에서 Java Version 확인하기

먼저 build.gradle에 설정해놓은 버전은 11

Gradle 설정에는 13으로 되어있는것을 확인하고

11로 변경

또 시스템 속성 환경변수 JAVA_HOME 변수값도 jdk-11.0.13 으로 변경 후

IntelliJ Restart 했는데도 문제는 해결되지 않았다. 😥

2. Edit Configurations 에서 Java Version 확인하기
우측 상단에서 Edit Configurations 클릭

Spring Boot 의 Java Version은 13으로 되어있는 것을 확인 🤢
이거 보자마자 찾았다고 확신을 했다.. 나는 해결할 수 있다고..

Java Version을 11로 변경

❗ 해결 1

성공! 😊 앞으로는 버전을 잘 맞췄는지 꼭 꼭 확인하자

❗ 오류 2

위 오류가 뜨면서 동시에

JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
정리 해석 : spring.jpa.open-in-view는 기본적으로 사용하도록 설정되어있다.
이 경고를 사용하지 않으려면 spring.jpa.open-in-view를 명시적으로 구성해라.

Spring boot에서는 open-in-viewtrue로 설정 되어 있으나
검색 결과 OSIV(Open Session In View) 에서 확장성 측면으로 false로 설정하는게 좋다고 한다.

❗ 해결 2

spring.jpa.open-in-view=false

application.properties 에서 값을 false로 바꿨더니 해결 되었다!

profile
Just Do IT ------- 🏃‍♀️

0개의 댓글