반응형

스프링 부트 프로젝트를 진행하다가 발생한 에러이다.

원인 분석

서비스에서 구성하는 dao객체를 autowired 어노테이션이 아닌 생성자를 활용하여 주입하는 방식으로 구성하였는데, 예를들면 아래와 같이 변경하였다.

 

기존

public class DataService{
    @Autowired
    private DataDao datadao;
}

 

변경방식

@AllArgsConstructor
public class DataService{
	@NotNull private DataDao datadao;
}

 

Lombok을 활용하여 Bean으로 등록된 dao 사용하기 위해 생성자 방식을 통해 처리하였다.

 

소스를 전달받고 구동하였으나 해당방식으로 처리한 부분만 계속해서 NullPointException이 발생하였고, 결과값이 Null인지부터 연결정보가 잘못 되었는지 모두 체크하였으나 옆 개발자분 PC와 소스부분은 틀린점이 하나도 없었다.

 

 

확인해 본 결과 Lombok이 정상적으로 동작하지 않는것을 발견하였다.

 

해결 방법

해결방법은 아래와 같다.

1-1. maven으로 받아진 lombok.jar를 구동한다.

프로젝트 내 Maven Dependencies에서 lombok을 찾는다.

 

1-2. 또는 cmd창을 열어 위치를 찾아가서 명령어를 입력한다.

cmd에서 처리

 

2. 그럼 구동된 lombok.jar파일이 보인다.

구동하고 일정시간 기다리면 구동중인 IDE를 검색하는데 해당 IDE를 Install/Update를 클릭한다.

 

 

3. 정상적으로 설치가 완료되면 설치된 IDE가 열러있다면 종료 후 재시작을 하고 서비스를 올려보면 정상 동작하는 모습을 볼 수 있다.

 

반응형