인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

승희님의 프로필 이미지

작성한 질문수

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

HelloWorld Bean 추가

java: variable message not initialized in the default constructor 에러는 어찌하면 좋을까요?

작성

·

51

1

localhost 에서 이제 hello-world 까지는 되는데
hello-world-bean까지 하려구 이제 강의 보면서 그대로 코드 따라쳤음에도 불구하고 자꾸

java: variable message not initialized in the default constructor 라는 에러때문에 빌드가 안됩니다..

깃허브에 올라온 완성된 코드를 그대로 복사붙여넣기 해도 안되고.. 자꾸 lombok / AllArgsConstructor 의존성 주입 또는 설치하라고 에러가 뜨는데 진작에 스프링 프로젝트 만들때 설치하고 시작했음에도 불구하고 자꾸만 인식을 못하는건지 아니면

public class HelloWorldBean { private final String message; // public HelloWorldBean(String message) { // this.message = message; // } }

여기 부분의 에러인데 어노테이션 두개가 충돌해서 그러는건지를 모르겠습니다.,.

 

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

승희님께서 겪고 계신 java: variable message not initialized in the default constructor 오류는 Java의 클래스 필드 중 final로 선언된 message 변수가 초기화되지 않았기 때문에 발생하는 문제입니다.

해결 방법은 다음과 같습니다:

  1. 기본 생성자 제공: 만약 기본 생성자를 사용하고자 한다면 message 변수를 기본값으로 초기화해줘야 합니다. 예를 들어:

    public class HelloWorldBean {
       private final String message;
    
    
       // 기본 생성자에서 초기화
       public HelloWorldBean() {
           this.message = "Default Message"; // 적절한 기본값을 설정
       }
    }
    
  2. 모든 인수를 받는 생성자 사용: 만약 @AllArgsConstructor를 사용하려고 한다면 롬복 라이브러리의 설치 및 설정을 다시 한번 확인하고, 필요한 경우 프로젝트의 롬복 의존성을 재설치하거나 lombok.config 파일 설정을 확인하세요.

  3. 롬복(@AllArgsConstructor) 확인: @AllArgsConstructor와 같은 롬복 어노테이션이 정확히 인식되고 있는지 확인하세요. 코드를 빌드하기 전 maven이나 gradle에서 롬복이 잘 설정되어 있는지, IDE(예: IntelliJ, Eclipse)에서 롬복 플러그인이 잘 설치되어 있는지 확인하는 것이 좋습니다.

필요한 경우, pom.xml 또는 build.gradle 파일에 롬복 의존성이 정확히 추가되어 있는지 다시 한 번 확인하시고, IDE의 설정에서 롬복이 올바르게 설정되어 있는지 확인해 보세요.

추가로 이와 관련된 기본 정보 및 프로젝트의 구성에 대한 자세한 내용은 Spring Boot 공식 문서도 참조해보시면 도움이 될 수 있습니다.

도움이 되었기를 바랍니다!

승희님의 프로필 이미지

작성한 질문수

질문하기